Function at 0x4d264a
Capabilities:
Encode data using xor
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x574
mov byte [esp + 0x11c], dl
mov dword [esp + 0x1ac], ecx
push ebx
push esi
push edi
test dl, dl
je 0x4d5cac
mov dword [esp + 0x1c], 0x1d52
mov ebx, 0xac230c
cmp dword [esp + 0x1c], 0xd98
jge 0x4d2718
lea eax, [esp + 0x370]
push eax
lea eax, [esp + 0xf8]
push eax
push ebx
call fcn.004fad78
add esp, 0xc
xor esi, esi
jmp 0x4d26ee
dec eax
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0x270]
push eax
push ebx
call fcn.004fad78
imul edx, dword [esp + 0x278], 0x3c
add esp, 0xc
mov edi, dword [esp + 0x370]
add edx, dword [esp + 0x270]
lea eax, [edi + 1]
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jge 0x4d2701
lea esi, [edi + 1]
add esi, edx
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x4d26a7
dec eax
mov dword [esp + 0xf4], eax
push 0x3c
pop ecx
mov eax, esi
cdq
idiv ecx
push edx
push eax
push 0xac2278
call fcn.004fb3a8
add esp, 0xc
push 3
pop eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x38], 0xcd453606
mov dword [esp + 0x38], 0x73eb905d
mov dword [esp + 0x38], 5
mov dword [esp + 0x38], eax
mov dword [esp + 0x38], 0xfffffff7
mov dword [esp + 0x38], 0
mov dword [esp + 0x38], 0xfffffff8
mov dword [esp + 0x38], 0xd513c61c
mov dword [esp + 0x1c], 0x1bfb
cmp dword [esp + 0x1c], 0xf85
push 1
pop ebx
jge 0x4d2a87
lea eax, [esp + 0x6c]
push eax
push 0xac224c
call fcn.004fad78
xor eax, eax
pop ecx
pop ecx
mov dword [esp + 0x278], eax
lea ecx, [esp + 0x19c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x278]
push eax
push dword [esp + 0x70]
call fcn.0042a78f
mov eax, dword [esp + 0x6c]
xor esi, esi
test eax, eax
jle 0x4d27e5
mov eax, dword [esp + 0x19c]
lea eax, [eax + esi*4]
push eax
push 0xac2248
call fcn.004fad78
mov eax, dword [esp + 0x74]
inc esi
pop ecx
pop ecx
cmp esi, eax
jl 0x4d27c5
push eax
lea ecx, [esp + 0x290]
call fcn.00428e00
mov esi, dword [esp + 0x6c]
mov edi, ebx
cmp esi, ebx
jle 0x4d286b
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x130]
push eax
push 0xac230c
call fcn.004fad78
mov eax, dword [esp + 0x138]
lea ecx, [esp + 0x114]
add esp, 0xc
dec eax
dec dword [esp + 0x108]
mov dword [esp + 0x12c], eax
push ecx
imul ecx, eax, 0xc
add ecx, dword [esp + 0x290]
call fcn.00428c5d
imul ecx, dword [esp + 0x108], 0xc
lea eax, [esp + 0x12c]
push eax
add ecx, dword [esp + 0x290]
call fcn.00428c5d
mov esi, dword [esp + 0x6c]
inc edi
cmp edi, esi
jl 0x4d27fc
xor eax, eax
lea ecx, [esp + 0x160]
mov dword [esp + 0x364], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
lea eax, [esp + 0x364]
push eax
lea eax, [esi + 0x1f]
shr eax, 5
push eax
call fcn.0042e908
and dword [esp + 0x16c], 0
lea ecx, [esp + 0x160]
push esi
call fcn.0042ad5f
mov esi, dword [esp + 0x6c]
xor eax, eax
mov dword [esp + 0x28], eax
mov ebx, eax
mov dword [esp + 0x20], esi
test esi, esi
jle 0x4d2930
mov esi, dword [esp + 0x160]
xor edx, edx
mov edi, ebx
mov ecx, ebx
shr edi, 5
and ecx, 0x1f
inc edx
shl edx, cl
test dword [esi + edi*4], edx
jne 0x4d2927
mov ecx, dword [esp + 0x19c]
cmp dword [ecx + ebx*4], 1
je 0x4d2927
inc dword [esp + 0x28]
lea edx, [esp + 0x28c]
push eax
lea eax, [esp + 0x1a0]
mov ecx, ebx
push eax
lea eax, [esp + 0x168]
push eax
call fcn.004d2491
mov esi, dword [esp + 0x78]
add esp, 0xc
mov dword [esp + 0x20], esi
xor eax, eax
jmp 0x4d292b
mov esi, dword [esp + 0x20]
inc ebx
cmp ebx, esi
jl 0x4d28cd
mov dword [esp + 0x320], eax
lea ecx, [esp + 0x184]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], eax
lea eax, [esp + 0x320]
push eax
lea eax, [esi + 0x1f]
shr eax, 5
push eax
call fcn.0042e908
and dword [esp + 0x190], 0
lea ecx, [esp + 0x184]
push esi
call fcn.0042ad5f
xor ebx, ebx
xor edi, edi
cmp dword [esp + 0x6c], ebx
jle 0x4d29d9
mov edx, dword [esp + 0x184]
xor eax, eax
mov esi, edi
mov ecx, edi
shr esi, 5
and ecx, 0x1f
inc eax
shl eax, cl
test dword [edx + esi*4], eax
jne 0x4d29d2
mov eax, dword [esp + 0x19c]
cmp dword [eax + edi*4], 0
je 0x4d29d2
push 1
lea eax, [esp + 0x1a0]
mov ecx, edi
push eax
lea eax, [esp + 0x18c]
inc ebx
push eax
lea edx, [esp + 0x298]
call fcn.004d2491
add esp, 0xc
inc edi
cmp edi, dword [esp + 0x6c]
jl 0x4d2986
mov edi, dword [esp + 0x28]
mov esi, edi
cmp ebx, edi
push ebx
cmovl esi, ebx
mov ebx, 0xac2258
push ebx
call fcn.004fb3a8
push edi
push ebx
call fcn.004fb3a8
push esi
push ebx
call fcn.004fb3a8
xor eax, eax
add esp, 0x18
mov dword [esp + 0x190], eax
cmp dword [esp + 0x184], eax
je 0x4d2a37
push dword [esp + 0x184]
call fcn.004fb47e
xor eax, eax
pop ecx
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], eax
cmp dword [esp + 0x160], 0
mov dword [esp + 0x16c], eax
je 0x4d2a6c
push dword [esp + 0x160]
call fcn.004fb47e
xor eax, eax
pop ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
lea ecx, [esp + 0x28c]
call fcn.0042a950
lea ecx, [esp + 0x19c]
call fcn.0042a773
xor ebx, ebx
inc ebx
mov dword [esp + 0x38], 0xcd66a075
mov dword [esp + 0x1e4], 0xfffffffd
mov dword [esp + 0xc], 0
jmp 0x4d2ab7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x308], 5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x4d2aa4
mov byte [esp + 0x11c], 0
dec dword [esp + 0x1e4]
mov byte [esp + 0x87], 0
cmp byte [esp + 0x87], 0
mov byte [esp + 0x124], 0
je 0x4d2aec
call dword [0xd00214]
mov dword [esp + 0x34], 0x51aa14
mov esi, 0xac22bc
mov dword [esp + 0xa8], 0
mov dword [esp + 0x70], 0xb0647dc4
mov dword [esp + 0xac], 0
mov dword [esp + 0x1c], 0x14a2
cmp dword [esp + 0x1c], 0x874
jge 0x4d2c59
lea eax, [esp + 0x36c]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xa4]
push eax
push 0xac2314
call fcn.004fad78
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x4f0]
add esp, 0x10
inc eax
push eax
call fcn.00428b0d
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0x4e0]
cmp edx, 1
jl 0x4d2bb0
lea esi, [edi + 4]
push esi
push 0xac224c
call fcn.004fad78
mov edx, dword [esp + 0xcc]
pop ecx
pop ecx
mov ecx, dword [esp + 0x9c]
sub ecx, dword [esi]
inc ebx
add esi, 4
mov dword [esp + 0x9c], ecx
cmp ebx, edx
jle 0x4d2b7d
mov esi, 0xac22bc
jmp 0x4d2bb7
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x36c]
lea eax, [edx + 1]
dec ebx
imul eax, ebx
mov dword [esp + 0x1c], ebx
cmp ecx, eax
jle 0x4d2bd6
push esi
call fcn.004fb4f7
pop ecx
jmp 0x4d2c4a
push 0xac22b8
call fcn.004fb4f7
xor ebx, ebx
pop ecx
cmp dword [esp + 0xc4], ebx
jl 0x4d2c4a
mov eax, dword [esp + 0x9c]
xor esi, esi
cmp dword [edi], esi
jle 0x4d2c12
push ebx
push 0xac2284
call fcn.004fb3a8
inc esi
pop ecx
pop ecx
cmp esi, dword [edi]
jl 0x4d2bf9
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x1c]
cmp eax, esi
cmovl esi, eax
sub eax, esi
mov dword [esp + 0x9c], eax
test esi, esi
jle 0x4d2c3d
push 0xac2650
call fcn.004fb3a8
pop ecx
dec esi
jne 0x4d2c28
mov eax, dword [esp + 0x9c]
inc ebx
add edi, 4
cmp ebx, dword [esp + 0xc4]
jle 0x4d2bf3
lea ecx, [esp + 0x4e0]
call fcn.0042a773
xor ebx, ebx
inc ebx
push 2
lea ecx, [esp + 0x448]
call fcn.00428b0d
push dword [esp + 0x308]
movdqa xmm0, xmmword [0xac5510]
lea ecx, [esp + 0x54c]
push ecx
xor eax, eax
lea ecx, [esp + 0x540]
push ecx
push eax
lea ecx, [esp + 0x2ac]
mov dword [esp + 0x2ac], eax
movdqu xmmword [esp + 0x548], xmm0
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], eax
call fcn.00430ad2
push ebx
push 0x32ca
push 0x7058
push 0xdb4
lea eax, [esp + 0x518]
mov dword [esp + 0x26c], 0
push eax
push ebx
push ebx
push 0x1e2d
push 0x17b
lea edx, [esp + 0x468]
mov ecx, 0x5c4c
call fcn.004ccae0
add esp, 0x24
cmp dword [esp + 0xa8], 0
jne 0x4d2d2a
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
neg ecx
mov dword [esp + 0x70], eax
sbb ecx, ecx
neg ecx
cmp dword [esp + 0x70], ecx
jge 0x4d2e60
push ecx
lea eax, [esp + 0x2a0]
mov dword [esp + 0x364], 0x7ea4c570
push eax
lea eax, [esp + 0xb4]
mov dword [esp + 0x338], ebx
push eax
lea eax, [esp + 0xb4]
mov dword [esp + 0x380], 0xdd0bb265
push eax
lea eax, [esp + 0x340]
mov dword [esp + 0x3a8], ebx
push eax
lea eax, [esp + 0x388]
mov dword [esp + 0x3c0], 0x98d7e942
push eax
lea eax, [esp + 0x3b0]
xor dl, dl
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x380]
push eax
push ecx
push 0x5a80
lea eax, [esp + 0x3d8]
push eax
push ecx
push ecx
push 0xa98
mov ecx, 0xdec
call fcn.004cc275
add esp, 0x3c
lea eax, [esp + 0x25c]
mov edx, 0x5675
mov ecx, 0x61db
push 0x45d6
push ebx
push 0x51f7
push 0x3425
push 0x2f0a
push 0x47bb
push 0x7c82
push 0x3e81
push 0x192d
push 0
push 0x6e51
push eax
lea eax, [esp + 0xdc]
push eax
push 0x6982
push 0x7cea
push 0x29be
lea eax, [esp + 0x484]
push eax
push 0xe88
push ebx
push 0x6c24
push 0x64f7
push 0x272
call fcn.004cee55
add esp, 0x58
jmp 0x4d2e8f
mov dword [esp + 0x70], 0
jmp 0x4d2e88
push ecx
push ecx
xor cl, cl
call fcn.004d2273
push ebx
push ebx
xor dl, dl
mov ecx, 0xcee
call fcn.004d045e
add esp, 0x10
inc dword [esp + 0x70]
cmp dword [esp + 0x70], 7
jle 0x4d2e6a
lea ecx, [esp + 0x29c]
call fcn.0042a773
lea ecx, [esp + 0x444]
call fcn.0042a773
mov dword [esp + 0x68], 4
mov dword [esp + 0x1c], 0x1dbc
cmp dword [esp + 0x1c], 0x72a
jge 0x4d314c
lea eax, [esp + 0x1cc]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x90]
push eax
push 0xac2314
call fcn.004fad78
xor eax, eax
lea ecx, [esp + 0x2bc]
add esp, 0x10
mov dword [esp + 0x264], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x264]
push eax
push dword [esp + 0xc4]
call fcn.0042a78f
xor eax, eax
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], eax
lea eax, [esp + 0x2ac]
push eax
push dword [esp + 0x8c]
call fcn.0042b2ee
lea ecx, [esp + 0x2ac]
call fcn.0042a773
mov ecx, dword [esp + 0x88]
xor ebx, ebx
mov eax, dword [esp + 0xc0]
test ecx, ecx
jle 0x4d2faf
mov edi, dword [esp + 0x1f8]
xor esi, esi
test eax, eax
jle 0x4d2fa7
mov eax, dword [edi]
lea eax, [eax + esi*4]
push eax
push 0xac2248
call fcn.004fad78
mov eax, dword [esp + 0xc8]
inc esi
pop ecx
pop ecx
cmp esi, eax
jl 0x4d2f82
mov ecx, dword [esp + 0x88]
inc ebx
add edi, 0xc
cmp ebx, ecx
jl 0x4d2f7c
xor ebx, ebx
xor esi, esi
xor edi, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], esi
test eax, eax
jle 0x4d312e
and dword [esp + 0x258], ebx
and dword [esp + 0x2bc], 0
lea eax, [esp + 0x258]
and dword [esp + 0x2c0], 0
and dword [esp + 0x2c4], 0
push eax
push ecx
lea ecx, [esp + 0x2c4]
call fcn.0042a78f
mov ecx, dword [esp + 0x1f8]
xor esi, esi
mov ebx, dword [esp + 0x2bc]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + edi*4]
mov dword [ebx], eax
mov edx, dword [esp + 0x88]
cmp edx, esi
jle 0x4d3046
lea eax, [ecx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
mov ecx, dword [ebx + esi*4 - 4]
add ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x20]
mov dword [ebx + esi*4], ecx
add eax, 0xc
mov edx, dword [esp + 0x88]
inc esi
mov dword [esp + 0x20], eax
cmp esi, edx
jl 0x4d3023
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
test edx, edx
jle 0x4d30f8
mov eax, dword [esp + 0x1f8]
lea edx, [ebx - 4]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x1cc]
dec edx
mov dword [esp + 0xc], eax
lea edx, [ebx + edx*4]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x88]
mov eax, dword [eax]
cmp dword [eax + edi*4], 0
je 0x4d30da
test esi, esi
jle 0x4d309c
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x4d30a1
and dword [esp + 0x14], 0
mov ecx, dword [esp + 0x1cc]
lea eax, [edx - 1]
dec ecx
add ecx, esi
cmp ecx, eax
jg 0x4d30ba
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
jmp 0x4d30be
mov eax, dword [ebx + edx*4 - 4]
mov ecx, dword [esp + 0x14]
sub eax, ecx
cmp eax, dword [esp + 0x20]
jle 0x4d30d6
mov dword [esp + 0x10], ecx
mov ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x4d30da
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
inc esi
add dword [esp + 0x28], 4
add eax, 0xc
add dword [esp + 0x54], 4
mov dword [esp + 0xc], eax
cmp esi, edx
jl 0x4d3084
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
add ebx, ecx
add esi, eax
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x2bc]
mov dword [esp + 0x2c], esi
call fcn.0042a773
inc edi
cmp edi, dword [esp + 0xc0]
jge 0x4d312e
mov ecx, dword [esp + 0x88]
jmp 0x4d2fcc
push esi
push ebx
push 0xac2278
call fcn.004fb3a8
add esp, 0xc
lea ecx, [esp + 0x1f8]
call fcn.0042a950
xor ebx, ebx
inc ebx
mov dword [esp + 0x50], ebx
lea ecx, [esp + 0x450]
mov dword [esp + 0x120], 0xadf851f0
mov dword [esp + 0x134], 0
push 2
call fcn.00428b0d
mov dword [esp + 0x274], 8
mov dword [esp + 0x284], 0x2ee3
mov dword [esp + 0x27c], 0x6394
mov dword [esp + 0xc], 0
jmp 0x4d31b2
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x450]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x4d319f
mov dword [esp + 0x50], 0xffffffea
jmp 0x4d344b
mov dword [esp + 0x10], 3
mov dword [esp + 0x2c], 0xb9459240
mov dword [esp + 0x10], 0xfffffff7
jmp 0x4d343d
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], 0x23dd
cmp dword [esp + 0x1c], 0xc0f
jge 0x4d334f
push 5
lea ecx, [esp + 0x2d0]
call fcn.00428b0d
mov esi, dword [esp + 0x2cc]
xor ebx, ebx
push 5
pop edi
push esi
push 0xac2248
call fcn.004fad78
add ebx, dword [esi]
add esi, 4
pop ecx
pop ecx
dec edi
jne 0x4d321b
mov ecx, dword [esp + 0x2cc]
mov edx, ebx
push 5
mov dword [esp + 0x58], ebx
inc edi
mov ebx, ecx
mov dword [esp + 0x30], edi
pop eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], eax
mov esi, edi
cmp edi, 5
jge 0x4d3286
mov edi, dword [ebx]
mov ebx, dword [esp + 0x54]
cmp edi, dword [ecx + esi*4]
jne 0x4d3274
lea eax, [edi + edi]
mov ecx, ebx
sub ecx, eax
cmp ecx, edx
cmovl edx, ecx
mov ecx, dword [esp + 0x2cc]
inc esi
cmp esi, 5
jl 0x4d325c
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
inc edi
add ebx, 4
dec eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], eax
jne 0x4d324f
xor ebx, ebx
mov eax, ecx
push 5
inc ebx
mov dword [esp + 0x18], eax
pop ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc], ecx
cmp ebx, 5
jge 0x4d331c
lea esi, [ebx + 1]
lea ecx, [eax + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], ecx
mov edi, esi
cmp esi, 5
jge 0x4d3303
mov ecx, dword [ecx]
mov ebx, dword [eax]
mov esi, dword [esp + 0x2cc]
mov dword [esp + 0x1c], ecx
cmp ebx, ecx
jne 0x4d32f1
cmp ebx, dword [esi + edi*4]
jne 0x4d32f1
mov ecx, dword [esp + 0x54]
imul eax, ebx, 3
sub ecx, eax
cmp ecx, edx
cmovl edx, ecx
mov ecx, dword [esp + 0x1c]
inc edi
cmp edi, 5
jl 0x4d32d6
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
add ecx, 4
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], ecx
cmp esi, 6
jl 0x4d32c0
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
inc ebx
add eax, 4
dec ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
jne 0x4d32ad
push edx
push 0xac2328
call fcn.004fb3a8
pop ecx
pop ecx
lea ecx, [esp + 0x2cc]
call fcn.0042a773
xor ebx, ebx
inc ebx
mov dword [esp + 0xc], 0
jmp 0x4d336c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x410], 6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x4d3359
mov eax, dword [esp + 0x410]
mov eax, dword [esp + 0x50]
imul eax, dword [esp + 0x418]
cmp eax, 5
jg 0x4d338f
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 0x4381
setl cl
xor eax, eax
cmp ecx, 0x48e6bae0
setge al
xor ecx, ecx
cmp eax, 0x4b834283
mov eax, dword [esp + 0x414]
setg cl
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x120], 0xfffffffc
cmp dword [esp + 0x120], 0
je 0x4d33f2
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x410]
mov cl, bl
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x134]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x414]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], 0
call fcn.004d1e01
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jg 0x4d31e3
dec dword [esp + 0x50]
cmp dword [esp + 0x50], 0xffffffe4
jl 0x4d31c6
lea eax, [esp + 0x120]
mov edx, 0x6215
push eax
push ebx
lea eax, [esp + 0x13c]
push eax
push 0x76f1
push 0x96d
lea eax, [esp + 0x64]
push eax
push 0xc73
push 0x2bad
push 0x111c
push ebx
push 0x1515
push 0x86b
push 0x4969
lea eax, [esp + 0x2a8]
push eax
push 0x7779
push 0x6a12
push 0x3894
lea eax, [esp + 0x2c0]
push eax
push ebx
push 0x55fd
lea eax, [esp + 0x4a0]
push 0x7f34
push eax
lea ecx, [esp + 0x2dc]
call fcn.004cee55
add esp, 0x58
lea ecx, [esp + 0x450]
call fcn.0042a773
mov eax, dword [0x51aa14]
mov dword [esp + 0x158], eax
mov dword [esp + 0x1c], 0x1406
cmp dword [esp + 0x1c], 0xe9c
jge 0x4d37c0
lea eax, [esp + 0x1d8]
push eax
lea eax, [esp + 0x60]
push eax
push 0xac230c
call fcn.004fad78
xor eax, eax
lea ecx, [esp + 0x2e8]
add esp, 0xc
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], eax
lea eax, [esp + 0x3c0]
push eax
push dword [esp + 0x60]
call fcn.0042a78f
xor eax, eax
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x304], eax
lea eax, [esp + 0x2dc]
push eax
push dword [esp + 0x60]
call fcn.0042b2ee
lea ecx, [esp + 0x2dc]
call fcn.0042a773
xor eax, eax
lea ecx, [esp + 0x2ec]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2f4], eax
lea eax, [esp + 0x3bc]
push eax
push dword [esp + 0x60]
call fcn.0042a78f
mov ebx, dword [esp + 0x2fc]
xor esi, esi
mov edi, dword [esp + 0x2ec]
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x1d8], esi
jle 0x4d3661
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xdc]
push eax
push 0xac230c
call fcn.004fad78
mov ecx, dword [esp + 0xe4]
add esp, 0xc
mov eax, dword [esp + 0xf0]
dec ecx
dec eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xf0], eax
xor edx, edx
imul eax, eax, 0xc
inc edx
mov eax, dword [eax + ebx]
mov dword [eax + ecx*4], edx
imul eax, dword [esp + 0xd8], 0xc
mov ecx, dword [eax + ebx]
mov eax, dword [esp + 0xf0]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0xd8]
inc dword [edi + eax*4]
mov eax, dword [esp + 0xf0]
inc dword [edi + eax*4]
inc esi
cmp esi, dword [esp + 0x1d8]
jl 0x4d35e7
and dword [esp + 0x21c], 0
lea eax, [esp + 0x97]
and dword [esp + 0x220], 0
lea ecx, [esp + 0x21c]
and dword [esp + 0x224], 0
push eax
push dword [esp + 0x60]
mov byte [esp + 0x9f], 0x2d
call fcn.00476414
mov ecx, dword [esp + 0x5c]
xor edx, edx
mov esi, dword [esp + 0x21c]
mov bh, 1
test ecx, ecx
jle 0x4d36c1
lea eax, [ecx - 1]
cmp dword [edi + edx*4], eax
jne 0x4d36bc
mov byte [esi + edx], 0x62
mov ecx, dword [esp + 0x5c]
inc edx
cmp edx, ecx
jl 0x4d36ac
xor edi, edi
test ecx, ecx
jle 0x4d3750
test bh, bh
je 0x4d3749
mov al, byte [esi + edi]
cmp al, 0x62
je 0x4d373b
cmp al, 0x2d
jne 0x4d36e2
mov byte [esi + edi], 0x61
mov ecx, dword [esp + 0x5c]
xor edx, edx
test ecx, ecx
jle 0x4d373b
cmp edi, edx
je 0x4d3732
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp dword [eax + edx*4], 0
je 0x4d370f
mov al, byte [esi + edx]
mov bl, byte [esi + edi]
cmp al, bl
je 0x4d3732
cmp al, 0x62
je 0x4d3732
cmp al, 0x2d
jne 0x4d3739
mov byte [esi + edx], bl
jmp 0x4d3728
cmp byte [esi + edi], 0x61
mov bl, byte [esi + edx]
sete al
lea eax, [eax*2 + 0x61]
cmp bl, 0x2d
jne 0x4d372e
mov byte [esi + edx], al
mov ecx, dword [esp + 0x5c]
jmp 0x4d3732
cmp bl, al
jne 0x4d3739
inc edx
cmp edx, ecx
jl 0x4d36e8
jmp 0x4d373b
xor bh, bh
add dword [esp + 0x20], 0xc
inc edi
cmp edi, ecx
jl 0x4d36cb
test bh, bh
jne 0x4d3750
push 0xac24ac
jmp 0x4d3780
push 0xac24a8
call fcn.004fb4f7
xor edi, edi
pop ecx
cmp dword [esp + 0x5c], edi
jle 0x4d377b
movsx eax, byte [esi + edi]
push eax
push 0xac246c
call fcn.004fb3a8
inc edi
pop ecx
pop ecx
cmp edi, dword [esp + 0x5c]
jl 0x4d3763
push 0xac21b5
call fcn.004fb4f7
pop ecx
test esi, esi
je 0x4d37a8
push esi
call fcn.004fb47e
xor eax, eax
pop ecx
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], eax
lea ecx, [esp + 0x2ec]
call fcn.0042a773
lea ecx, [esp + 0x2fc]
call fcn.0042a950
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x5d76270
mov dword [esp + 0x20], 0x23dec995
mov dword [esp + 0x2c], 0xbdf11caf
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], 6
mov dword [esp + 0x38], 0xfffffffc
mov byte [esp + 0xa2], al
mov dword [esp + 0x30], 0x18f5
cmp dword [esp + 0x30], 0x5cd
jge 0x4d38a0
lea eax, [esp + 0xe0]
push eax
push 0xac2328
call fcn.004fad78
lea eax, [esp + 0x11c]
push eax
push 0xac2248
call fcn.004fad78
mov eax, dword [esp + 0xf0]
add esp, 0x10
mov edi, dword [esp + 0x114]
mov ebx, edi
push 0
pop esi
dec eax
je 0x4d3889
dec eax
mov dword [esp + 0xe0], eax
lea eax, [esp + 0x114]
push eax
push 0xac2248
call fcn.004fad78
mov eax, dword [esp + 0x11c]
pop ecx
pop ecx
cmp eax, edi
jge 0x4d3877
mov edi, eax
jmp 0x4d387d
cmp eax, ebx
jle 0x4d387e
mov ebx, eax
inc esi
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x4d384c
dec eax
push esi
push 0xac2328
mov dword [esp + 0xe8], eax
call fcn.004fb3a8
pop ecx
pop ecx
xor eax, eax
cmp byte [esp + 0xa2], 0
mov byte [esp + 0x144], 1
je 0x4d38ba
push eax
push eax
call dword [0xd00048]
mov dword [esp + 0x10], 0x16
jmp 0x4d3d6c
mov dword [esp + 0xc], 0x2b165808
mov dword [esp + 0x28], 0x22d5fba2
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x30], 0xb3e1984b
mov dword [esp + 0x14c], 3
mov dword [esp + 0x14], 0
jmp 0x4d390f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x528], 0xf7d96711
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x4d38fc
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x528], eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], edx
je 0x4d3936
inc edx
mov eax, dword [esp + 0xc]
xor ecx, ecx
sub eax, dword [esp + 0xc]
cmp eax, edx
setge cl
imul ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [esp + 0x18]
setge cl
xor edx, edx
cmp ecx, 0xfffffffc
setl dl
xor ebx, ebx
cmp edx, eax
setle bl
xor ecx, ecx
imul ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
cmp ebx, eax
setl cl
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x2c]
cmp eax, 0x2cd8491f
mov eax, dword [esp + 0x54]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [esp + 0xc]
je 0x4d39e8
lea eax, [esp + 0x96]
mov byte [esp + 0x96], 0
push eax
push ecx
push 1
call fcn.004cd30e
add esp, 0xc
jmp 0x4d3d68
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x38], 0x67dcc35
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0x1467
cmp dword [esp + 0x2c], 0x84f
jge 0x4d3cbe
xor cl, cl
call fcn.00403fb2
lea eax, [esp + 0x1dc]
push eax
push ecx
lea eax, [esp + 0xf0]
push eax
push ecx
lea eax, [esp + 0x10c]
mov ecx, 0xad3d60
push eax
call fcn.00428160
pop ecx
mov ecx, eax
call fcn.00428160
pop ecx
mov ecx, eax
call fcn.00428160
xor eax, eax
lea ecx, [esp + 0x324]
mov dword [esp + 0x358], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], eax
lea eax, [esp + 0x358]
push eax
push dword [esp + 0x100]
call fcn.0042a78f
xor eax, eax
lea ecx, [esp + 0x30c]
mov dword [esp + 0x260], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], eax
lea eax, [esp + 0x260]
push eax
push dword [esp + 0x100]
call fcn.0042a78f
xor eax, eax
lea ecx, [esp + 0x234]
mov dword [esp + 0x368], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], eax
lea eax, [esp + 0x368]
push eax
push dword [esp + 0xec]
call fcn.0042a78f
xor eax, eax
lea ecx, [esp + 0x24c]
mov dword [esp + 0x268], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], eax
lea eax, [esp + 0x268]
push eax
push dword [esp + 0xec]
call fcn.0042a78f
mov eax, dword [esp + 0x324]
xor esi, esi
mov edi, dword [esp + 0x30c]
inc esi
mov dword [esp + 0x14], eax
cmp dword [esp + 0x1dc], esi
jl 0x4d3bec
mov ebx, eax
lea eax, [esp + 0x1a8]
push eax
push ecx
lea eax, [esp + 0x10c]
push eax
push ecx
lea eax, [esp + 0x3b8]
mov ecx, 0xad3d60
push eax
call fcn.00428160
pop ecx
mov ecx, eax
call fcn.00428160
pop ecx
mov ecx, eax
call fcn.00428160
cmp dword [esp + 0x3a8], 1
mov eax, dword [esp + 0x104]
jne 0x4d3bb6
mov dword [ebx + eax*4 - 4], esi
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x1a8]
mov dword [edi + ecx*4 - 4], eax
jmp 0x4d3bda
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x24c]
mov dword [ecx + eax*4 - 4], esi
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x1a8]
mov dword [edx + ecx*4 - 4], eax
inc esi
cmp esi, dword [esp + 0x1dc]
jle 0x4d3b59
mov eax, dword [esp + 0x14]
and dword [esp + 0x54], 0
cmp dword [esp + 0xfc], 0
jle 0x4d3c8e
sub eax, edi
mov dword [esp + 0x14], eax
and dword [esp + 0x2c], 0
cmp dword [esp + 0xe8], 0
jle 0x4d3c62
mov ebx, dword [esp + 0x234]
mov esi, dword [esp + 0x24c]
sub ebx, esi
mov eax, dword [eax + edi]
cmp eax, dword [ebx + esi]
jle 0x4d3c30
mov eax, dword [edi]
jmp 0x4d3c32
mov eax, dword [esi]
push eax
mov ecx, 0xad3cb8
call fcn.0042844a
mov edx, 0xac2308
mov ecx, eax
call fcn.0042f7f6
mov ecx, dword [esp + 0x2c]
add esi, 4
mov eax, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0xe8]
jl 0x4d3c24
mov edx, 0xac2348
mov ecx, 0xad3cb8
call fcn.0042f7f6
mov eax, dword [esp + 0x54]
add edi, 4
inc eax
cmp eax, dword [esp + 0xfc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
jl 0x4d3c05
lea ecx, [esp + 0x24c]
call fcn.0042a773
lea ecx, [esp + 0x234]
call fcn.0042a773
lea ecx, [esp + 0x30c]
call fcn.0042a773
lea ecx, [esp + 0x324]
call fcn.0042a773
mov dword [esp + 0x38], 0x455dbfe6
mov dword [esp + 0x38], 0xfffffffa
mov dword [esp + 0x2c], 0xe01153aa
mov dword [esp + 0x14], 0
jmp 0x4d3cf3
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x548], 0xfffffffc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x4d3ce0
inc dword [esp + 0x30]
je 0x4d3d58
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14c]
mov eax, dword [esp + 0x534]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x54c]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0xbf28
setl al
xor ecx, ecx
mov dword [esp + 0x30], eax
inc ecx
mov eax, dword [esp + 0x30]
jmp 0x4d3d5a
xor ecx, ecx
mov eax, dword [esp + 0x1c]
imul eax, ecx
mov dword [esp + 0x534], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0x12
jle 0x4d38c7
xorps xmm0, xmm0
movdqu xmmword [esp + 0x400], xmm0
mov dword [esp + 0x38], 0x1772
cmp dword [esp + 0x38], 0x11f5
jge 0x4d3f01
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0xd8]
push eax
push 0xac229c
call fcn.004fad78
mov esi, dword [esp + 0x148]
lea ecx, [esp + 0x1f4]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x3b0]
push eax
lea eax, [esi + 0x1f]
shr eax, 5
push eax
call fcn.0042e908
and dword [esp + 0x1f4], 0
lea ecx, [esp + 0x1e8]
push esi
call fcn.0042ad5f
mov eax, dword [esp + 0xd4]
mov edi, dword [esp + 0x1e8]
test eax, eax
je 0x4d3e8a
mov ebx, 0xac2248
dec eax
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xd0]
push eax
push ebx
call fcn.004fad78
pop ecx
pop ecx
jmp 0x4d3e6c
dec eax
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x280]
push eax
push ebx
call fcn.004fad78
pop ecx
pop ecx
mov ecx, dword [esp + 0x280]
xor eax, eax
dec ecx
inc eax
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl eax, cl
or dword [edi + edx*4], eax
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x4d3e3c
dec eax
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x4d3e22
dec eax
xor esi, esi
mov bl, 1
mov dword [esp + 0xd4], eax
cmp dword [esp + 0x13c], esi
jle 0x4d3ec1
xor eax, eax
mov edx, esi
inc eax
shr edx, 5
mov ecx, esi
and ecx, 0x1f
shl eax, cl
and eax, dword [edi + edx*4]
neg eax
sbb al, al
and bl, al
inc esi
cmp esi, dword [esp + 0x13c]
jl 0x4d3e9f
test bl, bl
mov ecx, 0xac22bc
mov eax, 0xac22b8
cmove eax, ecx
push eax
call fcn.004fb4f7
and dword [esp + 0x1f8], 0
pop ecx
test edi, edi
je 0x4d3f01
push edi
call fcn.004fb47e
xor eax, eax
pop ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], eax
push 0x3921
xor ebx, ebx
lea eax, [esp + 0x15c]
inc ebx
lea edx, [esp + 0x404]
push ebx
push eax
lea eax, [esp + 0x40]
push eax
push ecx
push 0x297b
lea eax, [esp + 0x80]
push eax
push ecx
lea eax, [ebp + 0x14]
mov ecx, 0x6fb1
push eax
push 0x6683
push 0x2fd8
push 0x1eab
call fcn.004cfd26
push 0x3293
push 0x4d13
push 0x7d0d
push 0
push 0x3650
mov dl, bl
mov cl, bl
call fcn.004d0af1
mov esi, dword [esp + 0x1fc]
add esp, 0x44
cmp esi, dword [esp + 0x158]
jge 0x4d55fd
push ecx
push ebx
call fcn.004d1b0a
pop ecx
pop ecx
push 0
push ecx
push 0x654d
lea eax, [esp + 0x40]
mov edx, 0x54a2
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004cc58b
xor ebx, ebx
add esp, 0x14
mov dword [esp + 0x28], ebx
test esi, esi
jle 0x4d4fb6
push 1
push 1
mov dl, 1
mov ecx, 0x6645
call fcn.004d045e
mov eax, dword [esp + 0x3c]
pop ecx
pop ecx
push 3
mov eax, dword [eax]
lea ecx, [esp + 0x380]
mov dword [esp + 0x358], eax
mov dword [esp + 0x10], 0xfffffff6
call fcn.00428b0d
mov dword [esp + 0x38], 0xeb969161
lea ecx, [esp + 0x45c]
mov dword [esp + 0x20], 0x3572
push 1
call fcn.00428b0d
push 2
lea ecx, [esp + 0x484]
call fcn.00428b0d
push 3
lea ecx, [esp + 0x510]
call fcn.00428b0d
lea eax, [esp + 0x37c]
mov dword [esp + 0x18], 5
push eax
push ecx
lea eax, [esp + 0x2c]
mov edx, 0x1635
push 0
push eax
mov ecx, 0x22cd
call fcn.004d19c1
push 1
lea eax, [esp + 0x38]
mov edx, 0x382b
push eax
lea eax, [esp + 0x474]
xor cl, cl
push eax
push 0x245d
push 0x150e
push 0x2577
push 1
call fcn.004d1381
add esp, 0x2c
xor eax, eax
mov byte [esp + 0x154], al
mov dword [esp + 0x24], eax
jmp 0x4d409d
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x480]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x4d408a
mov byte [esp + 0x15c], 1
mov dword [esp + 0x24], eax
jmp 0x4d40c8
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x50c]
mov dword [ecx + edx*4], 0x9a984365
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x4d40b2
mov dword [esp + 0x24], eax
jmp 0x4d40e8
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x49c], 1
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 1
jl 0x4d40d5
mov dword [esp + 0x24], eax
jmp 0x4d4108
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x578], 0x8b4fd089
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x4d40f5
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
inc dword [esp + 0x20]
cmp ecx, edx
je 0x4d4128
xor edx, edx
inc edx
jmp 0x4d412a
mov edx, eax
mov ecx, dword [esp + 0xc]
xor ecx, ecx
cmp edx, 1
mov edx, dword [esp + 0xc]
setl cl
push 6
pop esi
add ecx, esi
sub edx, ecx
neg edx
sbb edx, edx
inc edx
cmp edx, 1
jl 0x4d4155
cmp dword [esp + 0xc], eax
je 0x4d4155
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x37c]
cmp dword [ecx], eax
je 0x4d4329
push 2
lea ecx, [esp + 0x46c]
call fcn.00428b0d
mov dword [esp + 0x38], 0x2266
cmp dword [esp + 0x38], 0x112f
jge 0x4d428a
xor cl, cl
call fcn.00403fb2
and dword [esp + 0x10c], 0
and dword [esp + 0x110], 0
call fcn.0042f3ae
mov dword [esp + 0x10c], eax
mov ecx, 0xad3d60
lea eax, [esp + 0xcc]
push eax
call fcn.00428160
or edi, 0xffffffff
or esi, edi
jmp 0x4d4255
dec eax
mov ecx, 0xad3d60
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xb4]
push eax
call fcn.00428160
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x110]
call fcn.0042917d
test eax, eax
lea ecx, [esp + 0x10c]
lea eax, [esp + 0xb4]
push eax
je 0x4d4215
call fcn.00429062
inc dword [eax]
jmp 0x4d4220
call fcn.00429062
mov dword [eax], 1
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x110]
call fcn.00429062
cmp dword [eax], esi
jle 0x4d4255
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x110]
call fcn.00429062
mov edi, dword [esp + 0xb4]
mov esi, dword [eax]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x4d41cb
dec eax
mov ecx, 0xad3cb8
push edi
mov dword [esp + 0xd0], eax
call fcn.0042844a
push eax
call fcn.0042f9e1
pop ecx
lea ecx, [esp + 0x10c]
call fcn.00408d3b
xor eax, eax
push 0xfffffffffffffffa
mov byte [esp + 0x154], al
mov dword [esp + 0x68], eax
pop esi
cmp dword [esp + 0x64], 2
jge 0x4d42b5
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x468]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x64]
jmp 0x4d429a
mov dword [esp + 0x64], eax
jmp 0x4d42ca
mov ecx, dword [esp + 0x64]
mov dword [esp + ecx*4 + 0x1d4], eax
inc dword [esp + 0x64]
cmp dword [esp + 0x64], 1
jl 0x4d42bb
mov eax, dword [esp + 0x45c]
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [esp + 0x37c]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x480]
mov dword [eax], esi
inc dword [esp + 0x1d4]
mov eax, dword [esp + 0xc]
cmp eax, 0xa557
mov eax, dword [esp + 0x468]
setle cl
xor edx, edx
cmp ecx, 1
lea ecx, [esp + 0x468]
setl dl
add edx, dword [eax + 4]
mov dword [esp + 0x18], edx
call fcn.0042a773
jmp 0x4d4a73
mov dword [esp + 0x14c], 0x6f4846e1
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0x5c8bb6af
mov dword [esp + 0x30], 0x8a83a56c
mov dword [esp + 0x78], 0xfffffffc
mov dword [esp + 0x38], 0x14fd
cmp dword [esp + 0x38], 0x4f4
jge 0x4d4627
lea eax, [esp + 0xdc]
push eax
push 0xac224c
call fcn.004fad78
pop ecx
pop ecx
jmp 0x4d4610
dec eax
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x90]
push eax
push 0xac224c
call fcn.004fad78
pop ecx
pop ecx
push dword [esp + 0x90]
lea ecx, [esp + 0x338]
call fcn.00428b0d
mov ebx, dword [esp + 0x334]
xor edi, edi
cmp dword [esp + 0x90], edi
jle 0x4d43dc
mov esi, ebx
push esi
push 0xac224c
call fcn.004fad78
inc edi
add esi, 4
pop ecx
pop ecx
cmp edi, dword [esp + 0x90]
jl 0x4d43c2
and dword [esp + 0x170], 0
and dword [esp + 0x174], 0
call fcn.0042f4a3
and dword [esp + 0x1ac], 0
and dword [esp + 0x1b0], 0
mov dword [esp + 0x170], eax
call fcn.0042f4a3
xor esi, esi
mov dword [esp + 0x1ac], eax
xor edi, edi
mov dword [esp + 0x1c0], esi
cmp dword [esp + 0x90], esi
jle 0x4d44a5
lea ebx, [ebx + esi*4]
push ebx
lea ecx, [esp + 0x174]
call fcn.0042917d
test eax, eax
jne 0x4d44a5
movzx eax, byte [0xcfebde]
push eax
push ebx
push ecx
lea eax, [esp + 0x56c]
push eax
lea ecx, [esp + 0x180]
call fcn.00430269
cmp edi, dword [ebx]
cmovle edi, dword [ebx]
cmp dword [esp + 0x174], edi
jne 0x4d448d
movzx eax, byte [0xcfebde]
push eax
lea eax, [esp + 0x1c4]
push eax
push ecx
lea eax, [esp + 0x57c]
push eax
lea ecx, [esp + 0x1bc]
call fcn.00430269
mov ebx, dword [esp + 0x334]
inc esi
mov dword [esp + 0x1c0], esi
cmp esi, dword [esp + 0x90]
jl 0x4d4428
and dword [esp + 0x194], 0
and dword [esp + 0x198], 0
call fcn.0042f4a3
mov edi, dword [esp + 0x90]
xor ebx, ebx
and dword [esp + 0x1c], 0
xor esi, esi
and dword [esp + 0x230], ebx
dec edi
mov dword [esp + 0x194], eax
mov dword [esp + 0x228], ebx
mov dword [esp + 0x22c], esi
mov dword [esp + 0x130], edi
js 0x4d459c
mov ebx, dword [esp + 0x334]
lea esi, [ebx + edi*4]
push esi
lea ecx, [esp + 0x198]
call fcn.0042917d
test eax, eax
jne 0x4d458e
movzx eax, byte [0xcfebde]
push eax
push esi
push ecx
lea eax, [esp + 0x574]
push eax
lea ecx, [esp + 0x1a4]
call fcn.00430269
mov eax, dword [esp + 0x1c]
cmp eax, dword [esi]
cmovle eax, dword [esi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x198], eax
jne 0x4d4580
lea eax, [edi - 1]
mov dword [esp + 0x378], eax
lea ecx, [esp + 0x1ac]
lea eax, [esp + 0x378]
push eax
call fcn.0042917d
test eax, eax
je 0x4d4580
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x22c]
call fcn.00428c5d
mov edi, dword [esp + 0x130]
dec edi
mov dword [esp + 0x130], edi
jns 0x4d44fb
mov esi, dword [esp + 0x22c]
mov ebx, dword [esp + 0x228]
sub esi, ebx
sar esi, 2
push esi
push 0xac2258
call fcn.004fb3a8
pop ecx
xor edi, edi
pop ecx
test esi, esi
je 0x4d45d4
mov eax, dword [esp + 0x90]
sub eax, dword [ebx + edi*4]
push eax
push dword [ebx + edi*4]
push 0xac2278
call fcn.004fb3a8
add esp, 0xc
inc edi
cmp edi, esi
jb 0x4d45b4
lea ecx, [esp + 0x228]
call fcn.0042a773
lea ecx, [esp + 0x194]
call fcn.0040c901
lea ecx, [esp + 0x1ac]
call fcn.0040c901
lea ecx, [esp + 0x170]
call fcn.0040c901
lea ecx, [esp + 0x334]
call fcn.0042a773
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x4d437f
dec eax
mov dword [esp + 0xdc], eax
push 2
lea ecx, [esp + 0x4f4]
call fcn.00428b0d
mov dword [esp + 0x298], 0xac39
mov dword [esp + 0x38], 0x1721
cmp dword [esp + 0x38], 0x1281
jge 0x4d46af
lea eax, [esp + 0x3b8]
push eax
lea eax, [esp + 0x28c]
push eax
push 0xac2278
call fcn.004fad78
mov eax, dword [esp + 0x294]
xor ebx, ebx
inc ebx
add esp, 0xc
cmp eax, ebx
jne 0x4d468a
push 0xac22c4
call fcn.004fb4f7
pop ecx
jmp 0x4d46b2
mov ecx, dword [esp + 0x3b8]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
lea esi, [ecx + 1]
lea edx, [ecx - 1]
cmovle edx, esi
push edx
push 0xac2258
call fcn.004fb3a8
pop ecx
jmp 0x4d4687
xor ebx, ebx
inc ebx
lea eax, [esp + 0x4f0]
mov dl, bl
push eax
push 0x4ad9
push 0x20a3
push 0x2392
push ecx
push ecx
lea eax, [esp + 0x530]
push 0x4bc3
push eax
call fcn.004cd7a2
mov dword [esp + 0x38], 0xfffffffc
add esp, 0x20
cmp dword [esp + 0x18], 0x1a
jne 0x4d479b
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4d470c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1c8], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x4d46fd
mov dword [esp + 0x10], eax
jmp 0x4d4727
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x4bc], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x4d4718
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x20]
test ecx, ecx
je 0x4d4777
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x30], eax
je 0x4d4777
mov ecx, dword [esp + 0x78]
mov edx, 0xc987f9bd
dec ecx
neg ecx
push 0
sbb ecx, ecx
inc ecx
mov dword [esp + 0x4c4], ecx
pop ecx
sete cl
cmp edx, ecx
mov ecx, dword [esp + 0x37c]
sbb edx, edx
inc edx
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x1c8], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1a
je 0x4d46f7
push ebx
push ecx
lea edx, [esp + 0x2a0]
call fcn.004ce272
pop ecx
mov dword [esp + 0x3c], 0x2356
cmp dword [esp + 0x3c], 0xd27
pop ecx
jge 0x4d4a63
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x9c]
push eax
push 0xac230c
call fcn.004fad78
and dword [esp + 0x394], 0
lea eax, [esp + 0x394]
add esp, 0xc
lea ecx, [esp + 0x348]
push eax
mov eax, dword [esp + 0x9c]
inc eax
push eax
call fcn.00428b88
lea eax, [esp + 0x8f]
mov byte [esp + 0x8f], 0
push eax
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0x490]
inc eax
push eax
call fcn.00429225
and dword [esp + 0x2a8], 0
lea eax, [esp + 0x2a8]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x524]
call fcn.00428b88
mov eax, dword [esp + 0xe4]
xor edi, edi
mov ebx, dword [esp + 0x51c]
test eax, eax
jle 0x4d487d
mov esi, ebx
push esi
push 0xac224c
call fcn.004fad78
mov eax, dword [esp + 0xec]
inc edi
pop ecx
add esi, 4
pop ecx
cmp edi, eax
jl 0x4d4861
xor ecx, ecx
inc ecx
mov byte [esp + 0x4f], cl
mov dword [esp + 0x30], ecx
cmp eax, ecx
jle 0x4d491e
mov esi, dword [ebx + 4]
sub esi, dword [ebx]
mov edi, dword [esp + 0x98]
test esi, esi
jg 0x4d48a2
add esi, edi
mov ecx, dword [esp + 0x48c]
mov eax, esi
shr eax, 5
lea eax, [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x1c], eax
and ecx, 0x1f
mov edx, dword [esp + 0x1c]
xor eax, eax
inc eax
shl eax, cl
test dword [edx], eax
mov edx, dword [ebx]
je 0x4d48d9
mov eax, dword [esp + 0x348]
cmp dword [eax + edx*4], esi
jne 0x4d49f2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f4], ecx
lea ecx, [esp + 0x3f0]
push 1
mov dword [esp + 0x3f4], eax
call fcn.0042936c
mov eax, dword [ebx]
add ebx, 4
mov ecx, dword [esp + 0x348]
mov dword [ecx + eax*4], esi
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [esp + 0xe4]
jl 0x4d4890
mov edi, dword [esp + 0x98]
xor ebx, ebx
xor eax, eax
and dword [esp + 0x218], eax
inc ebx
xor ecx, ecx
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
mov esi, ebx
mov dword [esp + 0x148], esi
cmp edi, ebx
jl 0x4d49a4
mov ecx, esi
mov eax, ebx
and ecx, 0x1f
mov edx, esi
shl eax, cl
mov ecx, dword [esp + 0x48c]
shr edx, 5
test dword [ecx + edx*4], eax
jne 0x4d498a
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x214]
call fcn.00428c5d
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x148]
inc esi
mov dword [esp + 0x148], esi
cmp esi, edi
jle 0x4d494e
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0x210]
mov edx, ebx
cmp edi, ebx
mov ebx, dword [esp + 0x348]
jl 0x4d49e3
push 4
pop esi
sub esi, eax
cmp dword [ebx + edx*4], 0
jg 0x4d49de
lea eax, [esi - 4]
add eax, ecx
sar eax, 2
test eax, eax
je 0x4d49fc
add ecx, 0xfffffffc
mov dword [esp + 0x214], ecx
mov eax, dword [ecx]
mov dword [ebx + edx*4], eax
mov edi, dword [esp + 0x98]
inc edx
cmp edx, edi
jle 0x4d49b6
mov al, byte [esp + 0x4f]
test al, al
jne 0x4d4a00
push 0xac22a4
jmp 0x4d4a25
mov byte [esp + 0x4f], 0
jmp 0x4d4925
xor al, al
jmp 0x4d49e7
xor esi, esi
inc esi
cmp edi, esi
jl 0x4d4a20
push dword [ebx + esi*4]
push 0xac2284
call fcn.004fb3a8
inc esi
pop ecx
pop ecx
cmp esi, dword [esp + 0x98]
jle 0x4d4a07
push 0xac21b5
call fcn.004fb4f7
pop ecx
lea ecx, [esp + 0x210]
call fcn.0042a773
lea ecx, [esp + 0x51c]
call fcn.0042a773
and dword [esp + 0x498], 0
lea ecx, [esp + 0x48c]
call fcn.0042a773
lea ecx, [esp + 0x348]
call fcn.0042a773
lea ecx, [esp + 0x4f0]
call fcn.0042a773
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x50c]
call fcn.0042a773
lea ecx, [esp + 0x480]
call fcn.0042a773
lea ecx, [esp + 0x45c]
call fcn.0042a773
lea ecx, [esp + 0x37c]
call fcn.0042a773
lea eax, [esp + 0x68]
mov dl, 1
push eax
push 0x7eb7
lea eax, [esp + 0x3c]
mov cl, dl
push eax
push 1
push 0x52e0
call fcn.004d0af1
mov esi, dword [esp + 0x48]
add esp, 0x14
mov ecx, 0x2f93
mov eax, dword [esi]
push 0x18f6
push 1
mov dword [esp + 0x2c0], eax
call fcn.004d2174
add esi, dword [esp + 0x70]
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x6fde
pop ecx
mov dword [esp + 0x3c], 0x173d
cmp dword [esp + 0x3c], 0x586
pop ecx
jge 0x4d4bd5
lea eax, [esp + 0xec]
push eax
push 0xac224c
call fcn.004fad78
xorps xmm0, xmm0
movapd xmm2, xmm0
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x40], xmm2
jmp 0x4d4baa
dec eax
mov dword [esp + 0xec], eax
lea eax, [esp + 0x340]
push eax
push 0xac2540
call fcn.004fad78
movsd xmm1, qword [esp + 0x348]
mulsd xmm1, qword [esp + 0x80]
movapd xmm0, xmm1
mulsd xmm0, qword [0xac53e0]
addsd xmm0, qword [esp + 0x348]
addsd xmm0, qword [esp + 0x40]
movapd xmm2, xmm0
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esp + 0x348]
addsd xmm0, xmm1
movsd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0xf4]
pop ecx
pop ecx
test eax, eax
jne 0x4d4b43
push ecx
push ecx
dec eax
movsd qword [esp], xmm2
push 0xac29d8
mov dword [esp + 0xf8], eax
call fcn.004fb3a8
add esp, 0xc
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4d4bee
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x240], 0xf81320f2
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x4d4bdb
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 6
jne 0x4d4d6b
mov ebx, 0xffff
mov dword [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x10], eax
jne 0x4d4c3e
push 0x707a
mov dl, 1
call fcn.004ce62a
pop ecx
jmp 0x4d4c80
push 0x3240
push ecx
push 0x5bd7
push 0x7c65
push 0x61a7
push 0x50fd
push 0x3d08
push 0x6a85
mov byte [esp + 0xc3], al
mov ecx, 0x29be
lea eax, [esp + 0xc3]
push 1
push eax
call fcn.004cdef9
add esp, 0x28
xor eax, eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0x29
jle 0x4d4d58
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
jmp 0x4d4d30
mov dword [esp + 0x1c], 0xffffffff
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x14], ecx
jne 0x4d4cf2
cmp dword [esp + 0x10], eax
jne 0x4d4cbe
mov ecx, eax
jmp 0x4d4cc1
xor ecx, ecx
inc ecx
cmp ebx, ecx
sbb esi, esi
neg esi
add esi, dword [esp + 0x14]
neg esi
sbb esi, esi
neg esi
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, esi
setle dl
cmp edx, 0x8ff7
jl 0x4d4cf2
xor esi, esi
inc esi
jmp 0x4d4cf4
mov esi, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp esi, ecx
setle dl
sub edx, 0xe12f
je 0x4d4d0b
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x14], eax
jne 0x4d4d1e
cmp dword [esp + 0x244], eax
jne 0x4d4d1e
mov edx, eax
jmp 0x4d4d21
xor edx, edx
inc edx
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x240], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x4d4ca2
push ecx
push ecx
mov cl, 1
call fcn.004d2273
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x29
pop ecx
pop ecx
push 0
pop eax
jg 0x4d4c91
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 6
je 0x4d4c09
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 2
jg 0x4d4f6f
mov dword [esp + 0x38], 0x22cb
cmp dword [esp + 0x38], 0x1128
jge 0x4d4ddf
lea eax, [esp + 0x3b4]
push eax
push 0xac224c
call fcn.004fad78
mov esi, dword [esp + 0x3bc]
xor edi, edi
pop ecx
pop ecx
inc edi
push 2
pop ecx
cmp esi, 4
jl 0x4d4dd0
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x4d4dc7
inc ecx
mov eax, ecx
imul eax, ecx
cmp eax, esi
jle 0x4d4db2
jmp 0x4d4dd0
mov eax, esi
mov edi, ecx
cdq
idiv ecx
mov esi, eax
push esi
push edi
push 0xac335c
call fcn.004fb3a8
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0x438]
inc eax
mov dword [esp + 0xc], eax
push eax
call fcn.00428b0d
push 1
push 0x35e
push 0x6c34
lea eax, [esp + 0x444]
mov dword [esp + 0x3c], 0xa74ab722
push eax
lea eax, [esp + 0x4fc]
mov dword [esp + 0x2c], 0x71ce904
push eax
push 0x2105
push 1
mov edx, 0x4336
mov cl, 1
call fcn.004d1381
mov eax, dword [esp + 0x34]
xor edx, edx
mov eax, dword [esp + 0x28]
add esp, 0x1c
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x248], 0x2c0e
mov eax, dword [esp + 0x10]
cmp eax, 0xbf6ce440
mov eax, dword [esp + 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setne cl
xor edx, edx
cmp ecx, 0x2c0e
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 5
setne al
sub eax, dword [esp + 0xc]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0xb150
jge 0x4d4ebd
cmp dword [esp + 0x14], 0
jne 0x4d4ebd
xor edx, edx
jmp 0x4d4ec0
xor edx, edx
inc edx
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov eax, dword [esp + 0x18]
cmp eax, 0x4e46
setl cl
mov dword [esp + 0x240], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x438]
cmp dword [eax], 0
jne 0x4d4f0f
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x240]
mov eax, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp dword [esp + 0x18], ecx
jg 0x4d4f46
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x240], 0
je 0x4d4f46
xor ecx, ecx
inc ecx
jmp 0x4d4f48
xor ecx, ecx
mov eax, dword [esp + 0x14]
add eax, ecx
lea ecx, [esp + 0x438]
mov dword [esp + 0x10], eax
call fcn.0042a773
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x4d4d7a
xor eax, eax
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x2c0]
push eax
push ecx
lea eax, [esp + 0x44]
mov ecx, 0x5f1a
push eax
call fcn.004cc840
add esp, 0x10
lea edx, [esp + 0x38]
lea ecx, [esp + 0x358]
push 0
call fcn.004ce8d8
inc ebx
pop ecx
pop ecx
mov dword [esp + 0x28], ebx
cmp ebx, dword [esp + 0x1b8]
jl 0x4d3fb6
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x35c]
xor ebx, ebx
inc ebx
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov eax, 0x6bde64f6
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x35c], 0xc40ed3c1
mov dword [esp + 0xbc], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0xbc]
push eax
push 0x2146
push ecx
push ecx
push ebx
push ecx
lea eax, [esp + 0x2e0]
mov ecx, 0x521e
push eax
call fcn.004ce205
add esp, 0x1c
mov dword [esp + 0xbc], 0xc
jmp 0x4d50a0
push ebx
lea ecx, [esp + 0x424]
call fcn.00428b0d
lea eax, [esp + 0x4fc]
mov edx, 0x5bc5
push eax
push 0
push ecx
lea ecx, [esp + 0x42c]
call fcn.004d1845
add esp, 0xc
lea eax, [esp + 0x420]
push ebx
push ecx
push eax
push ecx
mov ecx, 0x4add
call fcn.004ce419
pop ecx
pop ecx
push 0x18ef
push 0x4000
xor dl, dl
call fcn.004d1dc3
add esp, 0x10
lea ecx, [esp + 0x420]
call fcn.0042a773
inc dword [esp + 0xbc]
cmp dword [esp + 0xbc], 0x11
jle 0x4d5036
mov dword [esp + 0x38], 0x1eaf
cmp dword [esp + 0x38], 0x64e
jge 0x4d52c7
lea eax, [esp + 0x80]
push eax
push 0xac2258
call fcn.004fad78
and dword [esp + 0x2e0], 0
lea eax, [esp + 0x2e0]
pop ecx
pop ecx
push eax
push dword [esp + 0x84]
lea ecx, [esp + 0x3cc]
call fcn.00428b88
and dword [esp + 0x1c], 0
xorps xmm0, xmm0
mov ecx, dword [esp + 0x80]
movlpd qword [esp + 0x178], xmm0
mov ebx, dword [esp + 0x178]
test ecx, ecx
jle 0x4d5159
mov esi, dword [esp + 0x3c4]
mov edi, dword [esp + 0x17c]
push esi
push 0xac224c
call fcn.004fad78
mov eax, dword [esi]
cdq
add ebx, eax
mov eax, dword [esp + 0x24]
pop ecx
adc edi, edx
inc eax
pop ecx
mov ecx, dword [esp + 0x80]
add esi, 4
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x4d5128
mov dword [esp + 0x14], edi
jmp 0x4d5164
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x1c], ebx
cdq
mov esi, edx
mov edi, eax
push esi
push edi
push dword [esp + 0x1c]
push ebx
call fcn.005142b0
push edx
mov ebx, eax
push ebx
push esi
push edi
call fcn.004ff5a0
mov edi, dword [esp + 0x1c]
push dword [esp + 0x3c8]
mov esi, dword [esp + 0x3c8]
sub edi, eax
push esi
sbb dword [esp + 0x1c], edx
call fcn.0042f7ab
pop ecx
pop ecx
lea eax, [esp + 0x178]
mov dword [esp + 0x178], ebx
push eax
push dword [esp + 0x84]
lea ecx, [esp + 0x394]
call fcn.00428b88
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x14]
dec eax
mov dword [esp + 0x20], eax
cdq
mov dword [esp + 0x38], eax
mov ecx, edx
sub eax, edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38c]
sbb ecx, ebx
cmp edx, ecx
jl 0x4d524b
jg 0x4d51fe
mov ecx, dword [esp + 0x38]
cmp ecx, dword [esp + 0x78]
jbe 0x4d524b
mov ecx, dword [esp + 0x20]
inc dword [eax + ecx*4]
dec ecx
mov eax, dword [esp + 0x80]
dec eax
mov dword [esp + 0x20], ecx
cdq
sub eax, edi
mov ecx, edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
sbb ecx, ebx
cdq
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38c]
cmp edx, ecx
jg 0x4d51fe
jl 0x4d5244
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x78]
mov eax, dword [esp + 0x38c]
ja 0x4d51fe
mov eax, dword [esp + 0x38c]
mov ebx, dword [esp + 0x80]
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
test ebx, ebx
jle 0x4d5292
sub eax, esi
mov dword [esp + 0x38], eax
mov eax, dword [eax + esi]
sub eax, dword [esi]
cdq
test edx, edx
jg 0x4d5284
jl 0x4d527d
test eax, eax
jae 0x4d5284
neg eax
adc edx, 0
neg edx
add edi, eax
mov eax, dword [esp + 0x38]
adc ecx, edx
add esi, 4
dec ebx
jne 0x4d526d
push 0
push 2
push ecx
push edi
call fcn.005142b0
push edx
push eax
push 0xac2250
call fcn.004fb3a8
add esp, 0xc
lea ecx, [esp + 0x38c]
call fcn.0042a773
lea ecx, [esp + 0x3c4]
call fcn.0042a773
xor ebx, ebx
inc ebx
push 0x7949
push ecx
push ebx
push 0x6a1c
lea edx, [esp + 0x44]
lea ecx, [esp + 0x78]
call fcn.004d19c1
add esp, 0x10
mov dword [esp + 0x138], 0xffffffff
lea eax, [esp + 0x2e8]
mov dword [esp + 0x2e8], 0xfffffff7
mov dword [esp + 0x58], 0x969a22db
xor dl, dl
mov dword [esp + 0x1e0], 0
push 0x3ecd
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x40], ebx
push eax
lea eax, [esp + 0x1ec]
push eax
push ecx
push ecx
lea eax, [esp + 0x150]
push eax
push 0x55e5
call fcn.004cd7a2
add esp, 0x20
xor eax, eax
mov dword [esp + 0x58], eax
jmp 0x4d53e5
mov dword [esp + 0xc], 0xfffe
mov dword [esp + 0x14], eax
jmp 0x4d536f
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x554], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x4d535c
cmp dword [esp + 0x1e0], eax
jne 0x4d5391
mov ecx, dword [esp + 0x58]
xor edx, edx
cmp edx, ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [esp + 0xc]
jge 0x4d5393
mov edx, ebx
mov ecx, dword [esp + 0xc]
add ecx, edx
jne 0x4d53a2
mov ecx, dword [esp + 0x138]
mov ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
imul ecx, dword [esp + 0x138]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x55c], 0xe101eae
inc dword [esp + 0x58]
cmp dword [esp + 0x58], 0x14
jne 0x4d534e
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x68]
mov edi, dword [eax]
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.004d01a1
pop ecx
mov dword [esp + 0x3c], 0x217d
cmp dword [esp + 0x3c], 0xb43
pop ecx
jge 0x4d548b
lea eax, [esp + 0x500]
push eax
lea eax, [esp + 0x3ec]
push eax
push 0xac248c
call fcn.004fad78
movsd xmm0, qword [0xac53d0]
add esp, 0xc
mov esi, ebx
jmp 0x4d5471
divsd xmm0, xmm1
call fcn.00515bc0
mulsd xmm0, qword [esp + 0x500]
push ecx
push ecx
movsd qword [esp], xmm0
push 0xac3364
call fcn.004fb3a8
add esp, 0xc
inc esi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [esp + 0x3e8]
comisd xmm1, xmm0
ja 0x4d5442
push 0xac21b5
call fcn.004fb4f7
pop ecx
test edi, edi
jne 0x4d55fd
cmp byte [ebp + 0x14], 0
je 0x4d54dd
cmp dword [esp + 0x158], ebx
jne 0x4d54dd
push ebx
push 0x3a63
push 0x42ad
push 0x7b23
push 0x2c81
push ebx
push edi
lea eax, [esp + 0x84]
mov edx, 0x5ad0
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x424]
call fcn.004ccae0
add esp, 0x24
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x34]
push ecx
push ecx
push 0x7136
mov eax, dword [eax]
mov cl, bl
mov dword [esp + 0x328], eax
lea eax, [esp + 0x74]
push 0x4d75
push eax
call fcn.004cc3ba
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x48]
add esp, 0x10
mov eax, dword [eax]
mov dword [esp + 0x2fc], eax
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.004cd486
add esp, 0xc
push dword [esp + 0xc8]
call fcn.004f6b31
mov dword [esp + 0x1c8], eax
xor eax, eax
pop ecx
mov dword [esp + 0x318], eax
lea ecx, [esp + 0x39c]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x3a4], eax
lea eax, [esp + 0x318]
push eax
push dword [esp + 0xcc]
call fcn.004dbb57
lea eax, [esp + 0xc8]
mov edx, 0x22df
push eax
push 0
push 0x37e0
push 0x39d8
push ecx
lea eax, [esp + 0x30c]
push eax
push 0x2ed
push ecx
push 0x6d38
lea eax, [esp + 0x1e8]
push eax
lea eax, [esp + 0x344]
push eax
lea eax, [esp + 0x3c8]
push eax
lea ecx, [esp + 0x64]
call fcn.004cfd26
lea eax, [esp + 0xf8]
push eax
push 0
lea ecx, [esp + 0x438]
call fcn.004d2174
mov eax, dword [esp + 0x1fc]
lea ecx, [esp + 0x3d4]
add esp, 0x38
mov byte [esp + 0x118], bl
mov dword [esp + 0x404], eax
call fcn.0042a773
push 2
pop edi
mov dword [esp + 0xc], 0x8094a188
lea ecx, [esp + 0x4a0]
mov dword [esp + 0x30], 0x8319b885
mov dword [esp + 0x38], 3
push edi
call fcn.00428b0d
mov dword [esp + 0x38], 0x15da
cmp dword [esp + 0x38], 0x120b
jge 0x4d5824
lea eax, [esp + 0xf8]
push eax
push 0xac224c
call fcn.004fad78
mov eax, dword [esp + 0x100]
pop ecx
pop ecx
test eax, eax
je 0x4d581c
mov byte [esp + 0x95], 0
dec eax
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x78]
push eax
push 0xac230c
call fcn.004fad78
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x438]
add esp, 0xc
inc eax
push eax
call fcn.00428b0d
mov eax, dword [esp + 0x74]
mov esi, ebx
cmp eax, ebx
jl 0x4d56c7
mov eax, dword [esp + 0x42c]
lea eax, [eax + esi*4]
push eax
push 0xac224c
call fcn.004fad78
mov eax, dword [esp + 0x7c]
inc esi
pop ecx
pop ecx
cmp esi, eax
jle 0x4d56a7
inc eax
lea ecx, [esp + 0x474]
push eax
call fcn.00428b0d
mov eax, dword [esp + 0x74]
mov esi, ebx
cmp eax, ebx
jl 0x4d56ff
mov eax, dword [esp + 0x474]
lea eax, [eax + esi*4]
push eax
push 0xac224c
call fcn.004fad78
mov eax, dword [esp + 0x7c]
inc esi
pop ecx
pop ecx
cmp esi, eax
jle 0x4d56df
lea ecx, [esp + 0x95]
inc eax
push ecx
push eax
lea ecx, [esp + 0x4cc]
call fcn.00429225
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x3d0]
inc eax
push eax
call fcn.00428e00
mov esi, ebx
cmp dword [esp + 0x74], ebx
jle 0x4d578b
lea eax, [esp + 0x1d0]
push eax
lea eax, [esp + 0x1b8]
push eax
push 0xac230c
call fcn.004fad78
imul ecx, dword [esp + 0x1c0], 0xc
lea eax, [esp + 0x1dc]
add esp, 0xc
add ecx, dword [esp + 0x3d0]
push eax
call fcn.00428c5d
imul ecx, dword [esp + 0x1d0], 0xc
lea eax, [esp + 0x1b4]
push eax
add ecx, dword [esp + 0x3d4]
call fcn.00428c5d
inc esi
cmp esi, dword [esp + 0x74]
jl 0x4d572f
lea eax, [esp + 0x63]
mov byte [esp + 0x63], bl
push eax
lea eax, [esp + 0x4c8]
mov ecx, ebx
push eax
lea eax, [esp + 0x47c]
push eax
lea eax, [esp + 0x438]
push eax
lea edx, [esp + 0x3e0]
call fcn.004d252b
cmp byte [esp + 0x73], 0
mov ecx, 0xac22bc
mov eax, 0xac22b8
cmove eax, ecx
push eax
call fcn.004fb4f7
add esp, 0x14
lea ecx, [esp + 0x3d0]
call fcn.0042a950
and dword [esp + 0x4d0], 0
lea ecx, [esp + 0x4c4]
call fcn.0042a773
lea ecx, [esp + 0x474]
call fcn.0042a773
lea ecx, [esp + 0x42c]
call fcn.0042a773
mov eax, dword [esp + 0xf8]
test eax, eax
jne 0x4d5666
dec eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xb8], 0
jmp 0x4d584a
mov eax, dword [esp + 0xb8]
mov dword [esp + eax*4 + 0x204], 0xb319
inc dword [esp + 0xb8]
cmp dword [esp + 0xb8], 3
jl 0x4d5831
push 0x1faf
push ebx
push 0xfb6
push 0x209f
lea eax, [esp + 0xc8]
mov edx, 0x50a9
push eax
lea eax, [esp + 0x4b4]
xor cl, cl
push eax
call fcn.004cd354
add esp, 0x18
mov dword [esp + 0x38], 0x21dc
cmp dword [esp + 0x38], 0xf90
jge 0x4d5936
lea eax, [esp + 0x1bc]
push eax
lea eax, [esp + 0x144]
push eax
push 0xac2278
call fcn.004fad78
mov eax, dword [esp + 0x14c]
lea ecx, [esp + 0x4bc]
add esp, 0xc
inc eax
push eax
call fcn.00428b0d
cmp dword [esp + 0x140], ebx
mov edi, ebx
mov ebx, dword [esp + 0x4b0]
jl 0x4d58fa
lea esi, [ebx + 4]
push esi
push 0xac2284
call fcn.004fad78
inc edi
add esi, 4
pop ecx
pop ecx
cmp edi, dword [esp + 0x140]
jle 0x4d58e0
mov eax, dword [esp + 0x1bc]
xor ecx, ecx
jmp 0x4d5908
inc ecx
sub eax, ecx
test eax, eax
jg 0x4d5905
add eax, ecx
mov dword [esp + 0x1bc], eax
push dword [ebx + eax*4]
push 0xac2258
call fcn.004fb3a8
pop ecx
pop ecx
lea ecx, [esp + 0x4b0]
call fcn.0042a773
xor ebx, ebx
push 2
inc ebx
pop edi
mov dword [esp + 0xc], 0
jmp 0x4d5c21
mov dword [esp + 0x18], 0xeafd94fe
lea ecx, [esp + 0x4d4]
mov dword [esp + 0x10], 0xffffffff
push 4
call fcn.00428b0d
mov dword [esp + 0x38], 0x1bb2
cmp dword [esp + 0x38], 0xb72
jge 0x4d5a64
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x104]
push eax
push 0xac230c
call fcn.004fad78
add esp, 0xc
cmp dword [esp + 0x100], ebx
jne 0x4d59bc
push 0xac22b8
call fcn.004fb4f7
pop ecx
push dword [esp + 0xb0]
push 0xac224c
call fcn.004fb3a8
pop ecx
jmp 0x4d59f3
cmp dword [esp + 0x100], edi
jne 0x4d59f6
cmp dword [esp + 0xb0], 0
jle 0x4d59e8
push 0xac22b8
call fcn.004fb4f7
pop ecx
push dword [esp + 0xb0]
push 0xac336c
jmp 0x4d59b4
mov eax, 0xac22bc
push eax
call fcn.004fb4f7
pop ecx
jmp 0x4d5a64
push 0xac22b8
call fcn.004fb4f7
mov eax, dword [esp + 0x104]
xor esi, esi
add eax, 0xfffffffd
pop ecx
test eax, eax
jle 0x4d5a3f
push esi
push 0xac2284
call fcn.004fb3a8
mov eax, dword [esp + 0x108]
pop ecx
pop ecx
mov ecx, dword [esp + 0xb0]
add eax, 0xfffffffd
xor ecx, esi
inc esi
mov dword [esp + 0xb0], ecx
cmp esi, eax
jl 0x4d5a11
jmp 0x4d5a46
mov ecx, dword [esp + 0xb0]
push 0xc0000
push 0x80000
xor ecx, 0x40000
push ecx
push 0xac2314
call fcn.004fb3a8
add esp, 0x10
push ebx
push ecx
lea eax, [esp + 0xac]
push eax
push 0x342e
push 0x213a
lea edx, [esp + 0x4e8]
call fcn.004cc58b
add esp, 0x14
mov dword [esp + 0xa4], 0
jmp 0x4d5aad
mov eax, dword [esp + 0xa4]
mov dword [esp + eax*4 + 0x3f8], 4
inc dword [esp + 0xa4]
cmp dword [esp + 0xa4], edi
jl 0x4d5a94
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], 0
jl 0x4d5c11
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [esp + 0x3dc]
mov dword [esp + 0x38], 0x3fd5
push edi
call fcn.00428b0d
xor eax, eax
mov dword [esp + 0x78], 0x90a341a4
mov dword [esp + 0x14], eax
jmp 0x4d5b08
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3dc]
mov dword [ecx + edx*4], 0x686a37bd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x4d5af2
mov ecx, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x204]
mov ecx, dword [esp + 0x204]
cmp ecx, ebx
mov ecx, dword [esp + 0x18]
setle dl
cmp edx, 0xfffffff7
sbb edx, edx
xor ebx, ebx
neg edx
cmp edx, ecx
mov ecx, dword [esp + 0x208]
setle bl
xor edx, edx
cmp ebx, ecx
mov ecx, 0xa7eb8e13
setl dl
cmp ecx, edx
mov ecx, dword [esp + 0xc]
sbb esi, esi
xor edx, edx
neg esi
mov ecx, dword [esp + ecx*4 + 0x204]
neg esi
cmp esi, ecx
setge dl
xor ebx, ebx
inc edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
mov ecx, dword [esp + 0x208]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x20c]
setge dl
mov dword [esp + 0x38], edx
xor edx, edx
cmp dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x3dc]
setge dl
mov dword [ecx], edx
cmp dword [esp + 0xc], eax
jne 0x4d5bc5
mov ecx, dword [esp + 0x208]
cmp dword [esp + 0x30], eax
je 0x4d5bbe
cmp dword [esp + 0x18], eax
jne 0x4d5bc5
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x4d5bca
xor ebx, ebx
inc ebx
mov ecx, ebx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 7
setl dl
sub edx, 7
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0xc]
jl 0x4d5c47
mov ecx, 0xffff
mov dword [esp + 0x38], ecx
cmp dword [esp + 0x38], eax
je 0x4d5c91
lea ecx, [esp + 0x3dc]
call fcn.0042a773
lea ecx, [esp + 0x4d4]
call fcn.0042a773
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jle 0x4d5943
lea ecx, [esp + 0x4a0]
call fcn.0042a773
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0x400]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d5cbc
mov dword [esp + 0x38], 0xbf085fff
mov dword [esp + 0x38], 0xa4d2c643
mov dword [esp + 0x38], 0xfffffff9
mov dword [esp + 0x10], eax
jmp 0x4d5c8b
push ecx
mov dword [esp + 0x3c], 0x8afb1cad
mov dl, bl
mov dword [esp + 0x3c], 0x8a84d237
push ecx
call fcn.004ce663
inc dword [esp + 0x400]
inc dword [esp + 0x18]
pop ecx
pop ecx
cmp dword [esp + 0x10], ebx
jle 0x4d5c65
lea ecx, [esp + 0x3dc]
call fcn.0042a773
dec dword [esp + 0x18]
jns 0x4d5ac5
jmp 0x4d5c11
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x4d5cbc
push 0
call dword [0xd001fc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret