Function at 0x408a58
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea esi, [0x426608]
mov esi, dword [0x426ff4]
sub esp, 0x18
push esi
mov dword [0x42777c], eax
call dword [esp + 0x3f8]
lea ecx, [0x426608]
mov dword [ebp + 0x314], 0
push 0x2bc
push 0
push dword [0x42667c]
push edx
call 0x42017a
ret
mov dword [ebp + 0x2ec], ebx
mov ebx, dword [0x427798]
sub esp, 4
jmp 0x403e13
mov dword [esp + 0x2fc], edx
mov ecx, dword [0x427574]
mov dword [esp + 0x30c], ecx
mov ecx, dword [0x42790c]
mov edx, dword [0x427a14]
mov ebx, dword [0x426c34]
mov ebp, esp
add ebp, 0x28
jmp 0x411c8a
mov edx, dword [ebp + 0x3b8]
mov ecx, dword [edx + 0x3c]
add ecx, edx
mov edx, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x78]
add ebx, dword [esp + 0x3f8]
test ebx, ebx
je 0x401774
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
mov ebp, dword [ebx + 0x10]
mov dword [0x427830], ebp
mov ebp, dword [ebx + 0x20]
add ebp, dword [esp + 0x3f8]
mov dword [0x4277a0], esi
mov esi, dword [ebx + 0x24]
add esi, dword [esp + 0x3f8]
push esi
mov esi, dword [ebx + 0x1c]
add esi, dword [esp + 0x3fc]
test dword [esp + 0x3a8], 0x80000000
jmp 0x40b5b7
add esp, 0xc
lea edx, [edx*4]
push edx
mov dword [0x427760], esi
mov esi, dword [ebp + 0x20]
mov edx, dword [edx + esi]
add edx, dword [esp + 0x428]
cmp edx, ebx
jge 0x40d66a
add esp, 4
mov dword [ebp + 0x380], edx
add ebp, 0x6c
jmp 0x42017a
push edx
mov edx, dword [0x427620]
sub esp, 0x20
add ebp, 0x1c
jmp fcn.004032f5
push ebx
mov dword [ecx + 0x114c], edx
mov ebx, dword [0x427858]
mov edx, dword [ebp + 0x33c]
mov dword [0x4277c4], edx
mov edx, dword [ecx + 0x114c]
sub esp, 0x14
add ebp, 0x70
jmp fcn.0041e891
add esp, 0x18
jmp 0x40ad8e
mov eax, dword [esp + 0x288]
mov dword [0x427724], ecx
mov dword [esp + 0x284], eax
mov ecx, dword [0x4274f4]
mov dword [esp + 0x288], edx
mov dword [0x427460], ecx
mov ecx, dword [0x427724]
mov eax, dword [0x427648]
add esp, 4
jmp 0x413229
lea esi, [esi*4]
mov dword [ebp + 0x280], ebx
mov ebx, dword [ebp + 0x2c4]
mov ecx, dword [esi + ebx]
add ecx, dword [esp + 0x3c4]
cmp ecx, dword [esp + 0x28c]
jge 0x411293
mov dword [ebp + 0x27c], esi
lea esi, [0x426608]
mov esi, dword [ebp + 0x3b0]
mov dword [0x4275e4], esi
mov dword [ebp + 0x3b0], ecx
mov esi, dword [ebp + 0x314]
push edi
mov edi, dword [0x4275e4]
mov dword [0x4276b4], edi
mov ebx, dword [ebp + 0x314]
sub esp, 0xc
mov dword [ebp - 0x1c], ebx
call dword [esp + 0x3b8]
push dword [esp + 0x3ec]
mov dword [0x42758c], eax
call dword [esp + 0x3b8]
mov ecx, dword [0x42758c]
mov edi, dword [ebp - 0x10]
mov dword [0x427664], ecx
jmp 0x408a58
mov eax, dword [0x427540]
mov eax, dword [0x4277d0]
add eax, dword [0x427808]
add eax, dword [0x427808]
mov edx, dword [eax]
and edx, 0xffff
mov dword [0x4274c4], ecx
mov edi, edx
push esi
mov ebx, dword [0x4277d0]
mov dword [0x427794], eax
mov ebp, dword [0x427770]
mov ecx, dword [0x427800]
mov esi, dword [0x427718]
mov dword [0x4276dc], ebx
mov eax, dword [0x427540]
mov dword [esp + 0x340], ebp
mov dword [0x42766c], esi
pop esi
mov edx, dword [esp + 8]
jmp 0x41cf07
mov dword [0x42784c], eax
mov eax, dword [0x427540]
push ebx
mov dword [0x427770], edi
mov edi, dword [0x42774c]
mov eax, dword [edi]
and eax, 0xff
test eax, eax
je 0x40a4bb
mov edi, dword [ebp - 8]
push edi
shl edi, 5
shr dword [ebp - 8], 0x1b
or edi, dword [ebp - 8]
sub eax, 0x41
add edi, eax
inc dword [0x42774c]
mov dword [0x427738], eax
push edi
mov eax, dword [0x42784c]
push ecx
jmp 0x40ae15
mov edi, dword [ebp + 0x330]
pop edi
add edi, dword [0x427620]
cmp ebx, edi
jge 0x417dd0
mov dword [esp + 0x3f4], 0x2e
mov dword [0x4277fc], ebx
mov ebx, 0xf
mov ebx, dword [0x4277fc]
mov ebx, dword [0x426e38]
sub esp, 0x38
push ebx
mov dword [ebp + 0x2e8], eax
mov eax, dword [ebp + 0x3f0]
mov dword [ebp + 0x2e0], ecx
mov ecx, 0xf
mov dword [0x427838], edi
mov edi, dword [0x4277fc]
repne scasb al, byte es:[edi]
mov eax, edi
jmp 0x41e15c
mov dword [esp - 0x24], esi
push edx
mov dword [0x427824], ecx
mov dword [0x4277b0], ebx
mov dword [0x4277f0], edi
mov edx, eax
mov ecx, dword [esp + 4]
mov edi, dword [0x42777c]
mov dword [esp + 0x364], ecx
mov dword [esp + 8], edi
mov ecx, dword [0x427824]
pop eax
mov ebx, dword [esp + 0x3b0]
mov edi, dword [0x4277f0]
mov dword [0x427764], eax
mov eax, esi
sub esp, 0x10
jmp 0x414008
mov dword [0x427820], edx
mov edx, esi
push ebx
mov ecx, dword [0x427778]
mov ebx, dword [0x4277c0]
mov dword [esp + 0x2f4], ebx
pop ebx
add esp, 4
jmp 0x419e0d
mov dword [ebp + 0x27c], edx
mov dword [0x427628], eax
mov edx, dword [ecx + 0xf04]
mov eax, dword [ebp + 0x3b0]
add esp, 4
jmp 0x40e8d8
mov esi, dword [esp - 4]
mov edi, dword [0x427624]
mov eax, dword [0x4275f8]
mov dword [esp + 0x3c0], edx
mov edx, dword [0x427664]
jmp 0x40e5b2
mov ebx, dword [ebp + 0x3b8]
push ecx
push dword [0x426914]
push 0x384
push 2
call fcn.0041b28c
test dword [0x427048], 0x80000000
je 0x41f523
push ebp
mov ebp, esp
mov dword [0x42766c], eax
mov dword [0x4276dc], edi
mov eax, dword [0x427540]
mov edi, dword [ebp + 0x330]
mov edi, dword [0x427048]
mov dword [0x4275d4], edi
and edi, 0xffff
push edi
sub edi, esi
cmp edi, ecx
jge 0x419ce2
jmp 0x415c8f
mov edi, dword [0x4277f4]
mov ebx, dword [0x4277b4]
mov dword [ebp + 0x334], ebx
mov ebx, dword [ebp + 0x2e0]
sub esp, 0xc
add ebp, 4
jmp 0x403dea
add esp, 0xc
mov edx, dword [esp + 0x284]
add edx, dword [esp + 0x2cc]
add edx, dword [esp + 0x2cc]
mov eax, dword [edx]
and eax, 0xffff
mov ebx, dword [0x4276cc]
mov dword [0x427534], eax
push edi
mov esi, dword [esp + 0x280]
mov eax, dword [esp + 0x28c]
mov edi, dword [0x4276a0]
mov dword [0x427640], ecx
mov dword [0x427634], edx
pop esi
mov ecx, dword [0x427534]
mov edx, dword [esp + 0x284]
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x288], edx
mov esi, dword [esp + 0x27c]
jmp 0x404dad
mov eax, edx
mov dword [ebp + 0x2e0], edi
sub edi, dword [esp + 0x300]
mov ecx, edi
mov esi, dword [ebp + 0x2e8]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [0x42772c], edi
mov edx, dword [0x426770]
mov dword [edi], edx
call dword [esp + 0x420]
push dword [esp + 0x2f4]
push eax
mov dword [ebp + 0x2dc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x427780], esi
mov ebx, dword [0x427798]
mov edx, eax
mov edi, dword [0x427768]
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x2ec]
add esp, 0x10
jmp 0x403e13
mov dword [0x427804], eax
mov edi, dword [0x427770]
and dword [ebp - 8], 0x7fffffff
mov eax, dword [0x427540]
mov eax, dword [ebp - 8]
cmp eax, dword [0x427048]
je 0x405c29
mov eax, dword [0x427540]
inc dword [0x427808]
mov dword [0x427740], ecx
push edx
mov eax, dword [0x427718]
mov edi, dword [0x4277d0]
mov ebx, dword [0x427770]
mov ecx, dword [0x427800]
mov edx, dword [ebp - 4]
mov dword [ebp + 0x330], ebx
mov ebx, dword [ebp - 0xc]
add esp, 0x10
jmp 0x41f530
mov dword [0x42767c], eax
push edi
lea ecx, [ecx*4]
mov eax, dword [esp + 0x3a4]
mov edi, dword [esp + 0x2c0]
mov eax, dword [ecx + ebp]
add eax, dword [esp + 0x3ac]
cmp eax, dword [0x427528]
jge 0x421360
push eax
mov eax, dword [esp + 0x3a8]
pop edx
mov dword [0x427544], edx
sub esp, 0x14
mov ebp, esp
add ebp, 8
jmp 0x41b6ad
mov ecx, dword [ebp - 8]
mov dword [0x4277e0], ecx
mov dword [ebp - 8], edi
pop ecx
mov edi, dword [0x427770]
add esp, 0xc
jmp 0x405cd2
mov ebx, dword [ebp + 0x2f0]
push edx
mov edx, dword [ebp + 0x33c]
mov dword [0x4277c4], edx
pop edx
sub esp, 0x18
add ebp, 0x70
jmp fcn.0041e891
call dword [esp + 0x434]
mov dword [0x427c28], 0
mov dword [0x426c34], ebx
mov edx, dword [0x427c28]
mov dword [0x4277e4], edx
add esp, 8
add ebp, 0x70
jmp 0x41e897
je 0x40d9b6
mov dword [0x4277b0], ebx
mov dword [esp + 0x358], esi
mov dword [0x427764], edx
mov ebx, dword [esp + 0x3a8]
mov esi, dword [0x426ff4]
mov edx, dword [esp + 0x3a8]
mov dword [0x427734], ebx
mov dword [0x427748], edx
and edx, 0xffff
push eax
sub esp, 0x14
mov eax, dword [0x426ff4]
mov dword [esp - 0x14], eax
mov dword [0x427788], edx
sub edx, dword [0x427830]
cmp edx, ecx
jge 0x414008
sub esp, 0x14
mov dword [0x42782c], ecx
mov dword [esp + 0x33c], edx
call dword [esp + 0x40c]
mov ecx, dword [0x42782c]
mov edx, dword [esp + 0x338]
mov dword [0x427784], ebp
mov dword [0x4277d4], edi
mov ebx, dword [0x4277b0]
push eax
mov dword [0x42781c], ecx
mov edi, dword [esp + 0x384]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], edi
mov dword [0x42777c], eax
mov eax, dword [0x427764]
mov edi, dword [0x4277d4]
mov dword [esp + 0x384], eax
pop eax
sub esp, 0xc
mov ebp, esp
add ebp, 0xc
push 0
call fcn.0042028c
ret
mov esi, ebp
mov dword [0x4275f8], eax
mov edi, dword [0x427658]
mov eax, dword [0x4274e0]
mov edx, dword [esp + 0x28c]
add edx, dword [0x42750c]
cmp dword [0x4275f8], edx
jge 0x40789b
mov eax, 0x2e
mov eax, dword [0x4275f8]
mov eax, 0xf
mov ebp, dword [0x4275f8]
mov dword [esp + 0x3c0], ecx
sub esp, 8
mov ecx, dword [esp + 0x368]
push ecx
mov eax, 0x2e
mov ecx, 0xf
mov edi, ebp
repne scasb al, byte es:[edi]
jmp 0x418f54
add ebp, eax
inc edx
mov dword [0x427530], ebp
mov dword [esp + 0x27c], eax
mov dword [0x427504], esi
mov dword [esp + 0x278], ebp
mov ebx, edx
mov eax, dword [0x4275c0]
pop esi
mov dword [0x4274e8], eax
mov edx, ebp
mov eax, dword [0x427530]
mov ecx, dword [esp + 0x278]
mov dword [0x4275c0], eax
mov ebp, dword [0x427504]
mov eax, dword [0x427558]
jmp 0x418bd5
push ebp
and dword [esp + 0x2f0], 0x7fffffff
mov ebp, esp
mov esi, dword [ebp + 0x2f0]
cmp esi, dword [esp + 0x3d4]
je 0x4133d0
add esp, 4
inc dword [ebp + 0x28]
mov esi, dword [ebp]
mov dword [ebp + 0x334], ebx
mov ecx, edx
mov dword [0x427828], esi
mov ebx, dword [0x427834]
mov dword [0x427850], ebx
mov ebx, dword [ebp + 0x334]
mov edx, dword [ebp + 0x2f0]
sub esp, 8
add ebp, 4
jmp 0x41abb9
mov dword [0x427574], ecx
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x24]
add ecx, dword [esp + 0x24]
mov eax, dword [ecx]
and eax, 0xffff
mov dword [0x427c54], ecx
mov dword [esp + 0x30c], ebx
mov ecx, eax
mov ebx, dword [esp + 0x308]
mov dword [esp + 0x364], ebx
mov dword [0x427c9c], ebp
mov ebp, dword [0x4277cc]
mov dword [esp + 0x308], ebp
mov eax, dword [0x427c54]
mov ebx, dword [esp + 0x30c]
mov dword [0x427a14], edx
mov dword [esp + 0x304], ebx
mov edx, dword [0x427c9c]
mov dword [0x42790c], ecx
jmp 0x402688
mov esi, dword [0x4276e0]
mov edi, dword [0x427664]
mov dword [0x427568], edi
mov dword [esp + 0x288], edx
mov ebp, dword [esp + 0x27c]
mov ebx, dword [0x427500]
mov eax, dword [0x4275a0]
mov dword [esp + 0x274], ecx
mov edi, dword [esp + 0x278]
mov dword [0x4275c0], ebp
mov ecx, dword [esp + 0x3c4]
mov dword [0x4276f8], ecx
mov esi, dword [0x4276b4]
mov dword [esp + 0x3c4], esi
mov esi, dword [0x4276e0]
mov ecx, dword [esp + 0x274]
mov ebp, dword [0x4276f8]
add esp, 4
jmp 0x418bd5
inc ecx
mov dword [0x4277cc], ebx
mov ebp, dword [ecx]
and ebp, 0xff
test ebp, ebp
je 0x41418f
mov dword [esp + 0x30c], esi
mov esi, dword [0x4277cc]
mov dword [esp + 0x364], esi
shl esi, 5
shr dword [0x4277cc], 0x1b
or esi, dword [0x4277cc]
sub ebp, 0x41
add esi, ebp
inc ecx
mov dword [0x42783c], esi
mov dword [esp + 0x304], edi
mov dword [0x4277f8], esi
mov eax, ebp
mov edi, dword [0x4277cc]
mov dword [esp + 0x308], edi
mov ebx, esi
mov dword [esp + 0x2fc], edx
jmp 0x411f33
jmp 0x42072c
add esp, 4
mov dword [0x427798], ebx
add ebx, dword [esp + 0x380]
cmp edx, ebx
jge 0x401982
mov ecx, 0x2e
mov ecx, edx
mov ecx, 0xf
mov ecx, edx
mov edx, dword [0x427270]
sub esp, 0x14
push edx
mov dword [ebp + 0x2ec], eax
mov eax, 0x2e
mov dword [ebp + 0x2e8], ecx
mov ecx, 0xf
mov dword [0x427768], edi
mov edi, dword [ebp + 0x2e8]
repne scasb al, byte es:[edi]
mov eax, edi
jmp 0x4099f6
mov dword [0x427750], esi
mov esi, dword [edx + 0x1204]
mov edx, dword [edx + 0x11e4]
jmp 0x41da2d
mov dword [0x427664], edx
push 0
pop ecx
mov dword [esp + 0x3c0], ecx
sub esp, 8
mov ebp, esp
add ebp, 0x18
jmp 0x408a58
mov eax, edi
mov eax, dword [0x42710c]
mov dword [ebp + 0x2ec], edi
sub edi, edx
mov ecx, edi
mov esi, edx
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x2e4], esi
mov dword [0x42773c], ecx
mov ecx, dword [0x426770]
mov dword [edi], ecx
mov dword [ebp + 0x2e0], edx
call dword [esp + 0x418]
push dword [esp + 0x2f4]
push eax
mov dword [0x4277b8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [0x4277b8]
mov esi, dword [0x42780c]
mov dword [ebp + 0x2dc], eax
mov edi, dword [0x427848]
mov dword [0x4277a4], edx
mov eax, dword [ebp + 0x2f0]
mov ecx, dword [ebp + 0x2dc]
mov edx, dword [0x4277ec]
add esp, 4
jmp 0x41da2d
push 0
push esi
mov dword [0x42777c], eax
mov esi, dword [0x426ff4]
mov eax, dword [esp + 4]
cmp eax, dword [0x4277a0]
jg 0x40648e
add eax, eax
add eax, dword [esp + 4]
add eax, dword [esp + 4]
mov dword [0x427784], ebp
add ebp, eax
mov esi, dword [ebp]
add esi, dword [esp + 0x404]
mov dword [0x427850], esi
mov dword [0x427820], 0
jmp 0x419d86
mov dword [ebp + 0x2c4], edx
mov eax, dword [ebp + 0x3b0]
mov edx, dword [0x42750c]
add esp, 4
jmp 0x40e8d8
push esi
mov dword [0x427664], edx
mov dword [0x427560], eax
mov dword [esp + 0x3c4], edi
mov esi, ebp
mov eax, dword [0x4274e0]
mov edi, dword [0x427658]
mov eax, dword [0x427560]
mov dword [esp + 0x3c4], eax
mov eax, dword [0x4274e0]
sub esp, 4
mov ebp, esp
add ebp, 0x18
jmp 0x408a58
mov esi, dword [ebp + 0x314]
sub esp, 8
push esi
mov dword [0x4276b4], eax
call dword [esp + 0x3b0]
lea ecx, [0x426608]
push dword [esp + 0x3e4]
mov dword [ecx + 0x105c], eax
call dword [esp + 0x3b0]
lea ecx, [0x426608]
mov dword [ebp + 0x3b0], 0
push dword [0x4268b8]
call 0x408a58
ret
mov dword [ebp + 0x27c], esi
lea esi, [0x426608]
mov dword [0x4274d4], edi
mov edi, dword [ebp + 0x280]
add edi, dword [0x42750c]
cmp ecx, edi
jge 0x41f175
mov ebx, ecx
mov ecx, ecx
mov dword [0x4275d0], edi
sub esp, 4
mov edi, dword [ebp + 0x314]
push edi
mov dword [0x4274b0], edx
mov dword [ebp + 0x274], eax
call dword [esp + 0x3b0]
push dword [esp + 0x3e4]
mov dword [ebp + 0x270], eax
call dword [esp + 0x3b0]
mov ecx, 0xf
push 0x64
push 0xfa0
push esi
push dword [0x4266b8]
call fcn.004094c1
mov ebx, dword [0x4274d4]
mov esi, dword [esp + 0x290]
mov dword [0x4276b4], ebp
mov dword [0x427658], ebx
mov dword [esp + 0x28c], esi
mov esi, dword [esp + 0x270]
mov ebp, dword [esp + 0x324]
mov edx, dword [esp + 0x280]
jmp 0x40e5b2
mov dword [ebp + 0x2d4], eax
mov eax, dword [ebp]
add eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov ecx, dword [eax]
and ecx, 0xffff
lea ecx, [ecx*4]
mov dword [ebp + 0x33c], ecx
mov dword [0x427884], edx
mov dword [0x427940], eax
mov eax, dword [0x42776c]
mov eax, dword [ecx + eax]
add eax, dword [esp + 0x450]
cmp eax, dword [esp + 0x318]
jge 0x4147e8
mov dword [ebp + 0x33c], eax
call dword [esp + 0x434]
mov edx, dword [ebp + 0x33c]
mov dword [0x426c34], ebx
mov dword [0x4277e4], edx
add esp, 8
add ebp, 0x70
jmp 0x41e897
mov edi, dword [esp + 0x304]
mov edx, dword [0x4277f8]
mov dword [0x4277cc], edx
mov esi, dword [esp + 0x30c]
mov edx, dword [esp + 0x2fc]
mov ebp, esp
add ebp, 0x28
jmp 0x40d4d1
add ebp, 0x6c
push 0
pop ecx
mov dword [ebp + 0x314], ecx
jmp 0x42017a
mov dword [0x4277e8], ebp
mov ebp, esp
mov dword [ebp + 0x330], ecx
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp + 0x24]
add ecx, dword [ebp + 0x24]
mov edx, dword [ecx]
and edx, 0xffff
push edi
push 0x64
call 0x403dea
ret
mov dword [esp + 0x294], eax
push edx
call fcn.004161f2
mov dword [0x427648], eax
mov eax, dword [esp + 0x3c4]
mov dword [0x4276cc], ebx
mov ebx, dword [0x427460]
mov eax, dword [ebx]
and eax, 0xff
test eax, eax
je 0x41ff42
mov edx, dword [esp + 0x284]
push edx
shl edx, 5
shr dword [esp + 0x288], 0x1b
or edx, dword [esp + 0x288]
sub eax, 0x41
add edx, eax
inc ebx
mov dword [0x4274f4], ebx
mov dword [esp + 0x2e4], eax
mov dword [0x42754c], edx
mov ebx, dword [0x4276cc]
mov eax, dword [0x427648]
jmp 0x405648
add esp, 4
mov dword [ebp + 0x334], ebx
mov ebx, dword [ebp + 0x2c]
add ebx, dword [ebp + 0x28]
add ebx, dword [ebp + 0x28]
mov ecx, dword [ebx]
and ecx, 0xffff
mov dword [0x4277b4], edx
mov dword [ebp + 0x2ec], ebx
mov dword [0x4277bc], eax
mov edi, dword [0x427834]
mov edx, ecx
mov ebx, dword [ebp + 0x334]
mov eax, dword [0x427820]
mov dword [0x427850], edi
mov dword [ebp + 0x2e4], eax
mov dword [0x427820], esi
mov ecx, dword [ebp + 0x2ec]
mov dword [ebp + 0x2e0], ebx
mov eax, dword [0x4277bc]
jmp 0x408d94
and dword [ebp + 0x2e0], 0x7fffffff
mov ecx, dword [ebp + 0x2e0]
cmp ecx, dword [0x4268d4]
je 0x411c73
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jg 0x40b2a7
mov dword [0x427ce8], edi
mov edi, dword [ebp - 4]
add edi, edi
add edi, dword [ebp - 4]
add edi, dword [ebp - 4]
mov dword [ebp + 0x33c], esi
mov esi, dword [0x427814]
mov dword [0x427b9c], esi
add esi, edi
mov ecx, dword [esi]
add ecx, dword [esp + 0x450]
mov dword [0x427d0c], esi
mov dword [ebp + 0x2d8], edi
mov dword [ebp + 0x2e0], ecx
mov dword [0x427c0c], 0
mov dword [ebp + 0x2dc], ecx
mov dword [0x426c34], ebx
mov esi, dword [ebp + 0x33c]
mov ecx, dword [0x427d0c]
jmp 0x41afa5
sub esp, 0x14
mov dword [0x427854], eax
call dword [esp + 0x40c]
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x338], 0
mov esi, dword [0x427854]
mov ecx, dword [esp + 0x24]
mov dword [0x42777c], ecx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x380], edx
mov ebp, esp
add ebp, 0x6c
jmp 0x42017a
and dword [0x4277cc], 0x7fffffff
mov eax, dword [0x4277cc]
cmp eax, dword [0x4268d4]
je 0x40c5f3
inc dword [esp + 0x24]
mov dword [esp + 0x364], ecx
mov dword [esp + 0x30c], ebx
mov ecx, eax
mov ebx, dword [0x426c34]
mov ecx, dword [esp + 0x30c]
mov dword [esp + 0x304], ecx
mov dword [0x4278a8], ebp
mov ebp, dword [esp + 0x364]
mov dword [esp + 0x30c], ebp
mov ecx, eax
mov eax, dword [0x4278a8]
mov ebp, esp
add ebp, 0x28
jmp 0x4136d2
mov dword [0x427b78], eax
mov eax, dword [ebp + 0x2f0]
mov dword [ebp + 0x2dc], eax
add eax, edx
cmp dword [0x427b78], eax
jge 0x41741f
mov ecx, dword [0x427b78]
mov ecx, ecx
mov dword [ebp + 0x2d0], eax
call dword [esp + 0x434]
mov ecx, 0xf
push dword [0x42710c]
mov ecx, 0x2e
mov dword [0x427bf4], eax
mov eax, ecx
mov ecx, 0xf
mov dword [ebp + 0x2cc], edi
mov edi, dword [0x427b78]
repne scasb al, byte es:[edi]
mov eax, edi
jmp 0x420b6c
mov dword [0x4277ec], edx
lea edx, [0x426608]
mov dword [0x42780c], esi
mov esi, dword [0x427858]
add esi, dword [edx + 0x11e4]
cmp ecx, esi
jge 0x40d7a7
mov edx, 0x2e
mov edx, ecx
mov ecx, 0xf
mov ecx, edx
mov dword [0x427848], edi
sub esp, 4
mov edi, dword [0x42710c]
push edi
mov dword [ebp + 0x2f0], eax
mov eax, 0x2e
mov ecx, 0xf
mov edi, edx
repne scasb al, byte es:[edi]
jmp 0x40d8ad
mov edi, dword [esp + 0x2ec]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x334]
add esp, 4
jmp 0x419e0d
mov eax, dword [0x4274e0]
mov edi, dword [0x427658]
mov edi, dword [0x4275bc]
add edi, dword [0x427674]
add edi, dword [0x427674]
mov eax, dword [edi]
and eax, 0xffff
mov esi, ebp
mov dword [0x427664], edx
push eax
mov dword [0x427514], edi
shl dword [esp], 2
mov eax, dword [0x4274e0]
mov edi, dword [0x427658]
mov edi, dword [0x427624]
pop esi
mov eax, dword [esi + edi]
add eax, dword [esp + 0x3c8]
cmp eax, dword [esp + 0x28c]
jge 0x40b923
jmp 0x40e5b2
mov dword [0x4277c8], edi
shl dword [0x4277c8], 2
mov edi, dword [ebp + 0x330]
push ebx
mov ebx, dword [0x42766c]
mov edi, dword [0x4277c8]
mov ebx, dword [edi + ebx]
add ebx, dword [esp + 0x3dc]
cmp ebx, dword [ebp - 8]
jge 0x406344
mov dword [0x427844], edi
mov edi, dword [ebp + 0x330]
mov dword [ebp + 0x3f0], ebx
sub esp, 0x1c
add ebp, 0x1c
jmp 0x403315
sub edi, dword [esp + 0x20]
mov ecx, edi
mov dword [0x4275fc], esi
mov esi, dword [esp + 0x20]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [0x4276b0], esi
mov esi, dword [0x426770]
mov dword [edi], esi
call dword [esp + 0x3b4]
push dword [0x4274d8]
push eax
mov dword [esp + 0x290], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0x288]
mov esi, dword [0x4275fc]
mov edi, dword [esp + 0x2e0]
mov dword [esp + 0x2d8], ecx
mov ecx, dword [esp + 0x290]
add esp, 0x20
jmp 0x40adc0
mov dword [ebp + 0x2d0], eax
mov eax, dword [0x427b78]
jmp 0x411cc0
mov dword [ebp + 0x3f0], edi
mov edi, dword [0x4277c8]
sub esp, 4
jmp 0x415cc2
push ebp
mov dword [esp + 0x2f0], ebx
mov ebp, esp
lea ebx, [0x426608]
push 0
cmp dword [ebp - 4], esi
jg 0x40aef4
pop ebx
add ebx, ebx
add ebx, dword [ebp - 4]
add ebx, dword [ebp - 4]
mov dword [0x42776c], eax
mov eax, dword [0x427840]
mov dword [0x427814], eax
add eax, ebx
mov dword [ebp + 0x2ec], ecx
mov ecx, dword [eax]
add ecx, dword [esp + 0x428]
mov dword [ebp + 0x2e4], ecx
mov dword [ebp + 0x2e0], 0
jmp 0x41b9bf
pop eax
jmp 0x40adc0
mov dword [0x4275bc], eax
lea eax, [0x426608]
mov dword [0x427674], 0
cmp dword [0x427674], esi
jg 0x40ded4
mov eax, dword [0x427674]
add eax, eax
add eax, dword [0x427674]
add eax, dword [0x427674]
mov dword [ebp + 0x2c4], edx
add edx, eax
mov ebp, dword [edx]
add ebp, dword [esp + 0x3c4]
mov dword [0x427604], ebp
mov dword [esp + 0x28c], 0
mov dword [esp + 0x280], ebp
sub esp, 4
mov ebp, dword [esp + 0x324]
push ebp
mov dword [0x427624], ecx
mov dword [esp + 0x284], edx
mov dword [esp + 0x280], eax
call dword [esp + 0x3b0]
push dword [esp + 0x3e4]
mov dword [0x427568], eax
call dword [esp + 0x3b0]
mov dword [0x4276e0], esi
mov dword [esp + 0x28c], ebx
mov ebx, dword [0x427604]
mov ecx, dword [ebx]
and ecx, 0xff
test ecx, ecx
je 0x420f68
mov edx, dword [esp + 0x290]
mov dword [0x4274e8], edx
shl edx, 5
push edi
call fcn.0041e525
push esi
mov dword [0x427558], eax
mov dword [esp + 0x328], ebx
mov esi, ebp
mov eax, dword [0x427568]
mov ebx, dword [esp + 0x3c4]
mov dword [0x427664], eax
mov dword [0x4276b4], ebx
mov dword [0x4274fc], ecx
mov dword [0x427670], edx
mov edx, dword [esp + 0x328]
mov eax, dword [edx]
and eax, 0xff
test eax, eax
je 0x41db4b
mov ebp, dword [0x4275c0]
mov dword [esp + 0x294], ebp
shl ebp, 5
shr dword [0x4275c0], 0x1b
or ebp, dword [0x4275c0]
sub eax, 0x41
jmp 0x40c07b
mov eax, edi
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x330], edi
sub edi, ebp
mov ecx, edi
mov esi, ebp
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x426770]
mov dword [edi], eax
call dword [esp + 0x3b8]
push dword [esp + 0x32c]
push eax
mov dword [0x42759c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
mov edi, dword [0x427624]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [0x427664]
mov esi, dword [esp + 8]
add esp, 0xc
jmp 0x40e5b2
mov dword [0x4275b0], edx
mov dword [0x427684], edi
mov edx, dword [0x427620]
mov edi, dword [ebp + 0x330]
sub esp, 0x20
add ebp, 0x1c
jmp fcn.004032f5
push esi
mov esi, dword [0x426ff4]
mov dword [esp - 0x20], esi
sub esp, 0x20
mov dword [0x42781c], ecx
mov dword [esp + 0x384], edx
mov dword [esp + 0x33c], eax
call dword [esp + 0x40c]
mov dword [0x4277f4], edi
mov edi, dword [0x427850]
mov ecx, dword [edi]
and ecx, 0xff
test ecx, ecx
je 0x41b16a
mov edx, dword [0x427820]
mov dword [esp + 0x330], edx
shl edx, 5
shr dword [0x427820], 0x1b
or edx, dword [0x427820]
sub ecx, 0x41
add edx, ecx
push 0x3e8
push 0xfa0
push dword [0x4266b8]
push 0
call fcn.00408e26
mov dword [0x427834], edi
mov edi, dword [0x4277f4]
mov dword [0x4277a8], edx
mov edx, dword [0x427834]
mov edx, dword [edx]
and edx, 0xff
test edx, edx
je 0x40c3eb
mov esi, dword [esp + 0x2ec]
mov dword [0x4276d4], esi
shl esi, 5
shr dword [0x4276d4], 0x1b
or esi, dword [0x4276d4]
sub edx, 0x41
add esi, edx
inc dword [0x427834]
mov dword [0x4277c0], esi
mov dword [0x427778], edx
push esi
mov edi, dword [0x427834]
mov edx, dword [0x4276d4]
jmp 0x40689c
add esp, 8
mov esi, dword [ebp + 0x24]
cmp esi, dword [0x4277a0]
jg 0x41271e
add esi, esi
add esi, dword [ebp + 0x24]
add esi, dword [ebp + 0x24]
mov dword [ebp + 0x330], eax
mov eax, dword [0x427784]
push eax
add eax, esi
mov edx, dword [eax]
add edx, dword [esp + 0x428]
mov dword [ebp + 0x338], esi
mov ebp, eax
mov dword [esp + 0x2f0], edx
mov dword [0x427758], 0
mov dword [esp + 0x2ec], edx
mov dword [0x4277f4], edi
mov dword [esp + 0x20], edx
mov eax, dword [0x427758]
jmp 0x4151df
mov edi, dword [0x427c0c]
mov dword [0x427810], ecx
mov dword [0x4277cc], edi
mov esi, dword [ebp + 0x2e0]
mov ecx, dword [ebp + 0x2dc]
mov edi, dword [0x427ce8]
mov dword [0x42778c], esi
mov esi, dword [ebp + 0x33c]
jmp 0x40d4d1
mov edi, dword [esp + 0x27c]
mov eax, dword [0x4275bc]
add eax, dword [0x427674]
add eax, dword [0x427674]
mov ecx, dword [eax]
and ecx, 0xffff
pop ebp
mov dword [esp + 0x274], eax
mov edi, dword [esp + 0x290]
mov dword [esp + 0x270], esi
mov dword [0x4276e0], ebp
mov eax, ecx
mov dword [0x42751c], edi
mov esi, dword [0x427558]
mov edx, dword [0x4275c0]
mov dword [0x4274e0], esi
mov dword [esp + 0x290], edx
mov edi, dword [esp + 0x274]
mov ebx, dword [esp + 0x324]
mov ecx, dword [0x42751c]
jmp 0x41f715
mov edi, dword [0x4277f4]
and dword [0x427820], 0x7fffffff
mov edx, dword [0x427820]
cmp edx, dword [esp + 0x3d0]
je 0x413101
mov dword [0x427828], ebp
inc dword [esp + 0x24]
mov ebp, esp
push dword [0x426704]
call 0x41abb9
ret
mov ebx, dword [ebp + 0x3b8]
mov ecx, dword [ebx + 0x3c]
add ecx, ebx
mov edx, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x78]
add ebx, dword [esp + 0x3c0]
test ebx, ebx
je 0x40e8d8
lea esi, [0x426608]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
mov dword [0x42750c], edx
mov edx, dword [ebx + 0x10]
push edx
mov edx, dword [ebx + 0x20]
add edx, dword [esp + 0x3c4]
mov dword [ebp + 0x3b0], eax
mov eax, dword [ebx + 0x24]
add eax, dword [esp + 0x3c4]
mov dword [ebp + 0x2cc], ecx
mov ecx, dword [ebx + 0x1c]
jmp 0x41dbeb
mov dword [0x427810], eax
mov eax, dword [ebp + 0x33c]
mov dword [0x4277c4], eax
mov dword [ebp + 0x2d8], ebx
sub esp, 0x24
mov ebx, dword [0x426c34]
push ebx
mov dword [ebp + 0x2dc], esi
mov dword [0x42778c], ecx
mov ecx, dword [ebp + 0x2e4]
mov eax, dword [ecx]
and eax, 0xff
test eax, eax
je 0x4136b3
mov ebx, dword [ebp + 0x2e0]
mov dword [ebp + 0x2d4], ebx
shl ebx, 5
shr dword [esp + 0x308], 0x1b
or ebx, dword [esp + 0x308]
sub eax, 0x41
add ebx, eax
jmp 0x40d4ca
pop ebx
add esp, 4
mov ebp, esp
add ebp, 4
jmp 0x415c8f
lea ebx, [ebx*4]
mov ecx, dword [ebx + eax]
add ecx, dword [esp + 0x42c]
cmp ecx, dword [0x427858]
jge 0x414bc6
mov eax, dword [ebp + 0x33c]
mov dword [0x4277c4], eax
mov dword [ebp + 0x2f0], ecx
sub esp, 4
mov ecx, dword [0x426c34]
mov dword [ebp - 0x28], ecx
sub esp, 0x20
call dword [esp + 0x434]
mov edx, dword [ebp + 0x2f0]
mov dword [0x4277e4], edx
add esp, 8
add ebp, 0x70
jmp 0x41e897
mov dword [esp + 0x294], eax
and dword [0x4275c0], 0x7fffffff
mov eax, dword [0x427558]
mov dword [esp + 0x27c], edi
mov edi, dword [0x4275c0]
cmp edi, dword [esp + 0x3ac]
je 0x41b0f3
mov edi, dword [esp + 0x27c]
inc dword [0x427674]
pop ebx
mov ebp, dword [esp + 0x290]
mov edx, dword [0x427568]
mov dword [0x4276e0], ebx
mov dword [esp + 0x274], ebp
mov dword [0x42756c], esi
mov esi, dword [0x4275c0]
mov dword [esp + 0x290], esi
mov ebx, dword [esp + 0x324]
mov ecx, ebp
mov ebp, dword [0x42756c]
jmp 0x40d542
add ecx, dword [esp + 0x3c4]
test dword [esp + 0x3a4], 0x80000000
je 0x418b00
mov dword [ebp + 0x2c4], ecx
lea ecx, [0x426608]
mov dword [ecx + 0xeb4], esi
mov esi, dword [ebp + 0x398]
mov dword [ebp + 0x280], esi
and esi, 0xffff
mov dword [0x427708], esi
sub esi, dword [ebp - 0xc]
cmp esi, dword [esp + 0x2d8]
jge 0x4068c6
jmp 0x405745
mov eax, ebx
mov dword [0x42779c], edi
sub edi, dword [0x4277fc]
mov ecx, edi
mov dword [0x4277dc], esi
mov esi, dword [0x4277fc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [0x427744], ecx
mov ecx, dword [0x426770]
mov dword [edi], ecx
mov dword [0x4277d8], edx
call dword [esp + 0x3f8]
push dword [0x42779c]
push eax
mov dword [ebp + 0x29c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp + 0x29c]
mov ecx, dword [ebp + 0x2e0]
mov dword [0x42775c], esi
mov edi, dword [0x4277c8]
mov ebx, eax
mov dword [ebp - 4], edx
mov esi, dword [0x4277dc]
mov edx, dword [0x4277d8]
mov eax, dword [ebp + 0x2e8]
add esp, 0x34
jmp 0x415cc2
mov esi, dword [ebp + 0x3b0]
mov edi, dword [0x4274d4]
push esi
mov dword [ebp + 0x3b0], ecx
mov esi, dword [ebp + 0x314]
pop esi
mov dword [0x4276b4], esi
mov edx, dword [ebp + 0x314]
sub esp, 0xc
push edx
call dword [esp + 0x3b8]
push dword [esp + 0x3ec]
mov dword [0x427714], eax
call dword [esp + 0x3b8]
mov esi, dword [ebp + 0x314]
mov edx, dword [0x427714]
mov dword [0x427664], edx
jmp 0x408a58
push ebp
mov ebp, esp
mov dword [0x427808], 0
mov dword [0x427718], eax
mov dword [0x4277d0], edi
mov eax, dword [0x427540]
mov edi, dword [ebp + 0x330]
mov dword [0x427800], ecx
mov ecx, dword [0x427808]
cmp ecx, dword [ebp]
jg 0x40440f
add ecx, ecx
add ecx, dword [0x427808]
add ecx, dword [0x427808]
push edx
add edx, ecx
mov eax, dword [edx]
add eax, dword [esp + 0x3d8]
mov dword [0x42774c], eax
push 0
jmp 0x405cd2
mov ebp, dword [esp + 0x270]
mov edx, dword [0x427568]
mov esi, dword [esp + 0x278]
mov dword [0x427658], esi
jmp 0x4152fb
mov dword [0x42752c], eax
and dword [esp + 0x284], 0x7fffffff
mov eax, dword [esp + 0x3c4]
mov edx, dword [esp + 0x284]
cmp edx, dword [0x426f30]
je 0x40901d
add esp, 0xc
inc dword [esp + 0x2cc]
mov ebx, dword [0x4276cc]
mov eax, dword [esp + 0x288]
push edi
mov dword [esp + 0x2d8], esi
mov dword [0x4275ec], ecx
mov edi, dword [0x4276a0]
mov esi, dword [esp + 0x280]
mov ecx, dword [esp + 0x288]
mov esi, dword [esp + 0x2d8]
mov dword [0x4274c0], esi
pop ecx
mov dword [esp + 0x2d4], ecx
jmp fcn.0041c227
mov ebx, dword [ebp + 0x3b8]
push dword [0x4268b8]
push dword [0x426704]
call fcn.004125a1
test dword [0x4268d4], 0x80000000
je 0x417ef1
mov dword [0x427730], ebp
push ecx
mov ebp, esp
lea ecx, [0x426608]
mov dword [ecx + 0x1250], ebx
mov ebx, dword [ecx + 0x2cc]
push ebx
and ebx, 0xffff
mov dword [0x4277a4], ebx
sub ebx, dword [esp + 0x338]
cmp ebx, dword [ebp]
jge 0x404d62
jmp 0x41da10
mov esi, ebp
mov dword [0x427664], edx
mov ebp, dword [0x427674]
cmp ebp, dword [0x4276e0]
jg 0x40d885
add ebp, ebp
add ebp, dword [0x427674]
add ebp, dword [0x427674]
mov dword [0x4275a0], eax
mov eax, dword [esp + 0x2d4]
push eax
add eax, ebp
mov edx, dword [eax]
add edx, dword [esp + 0x3cc]
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x280], ebp
mov dword [esp + 0x284], eax
mov dword [esp + 0x328], edx
mov dword [esp + 0x27c], 0
mov dword [0x427500], edx
mov dword [esp + 0x278], edi
jmp 0x40cf7d
mov eax, dword [0x42710c]
mov dword [0x4278f8], edi
sub edi, dword [0x427b78]
mov ecx, edi
mov dword [ebp + 0x2c8], esi
mov esi, dword [0x427b78]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0x426770]
mov dword [edi], edx
call dword [esp + 0x434]
push dword [0x4278f8]
push eax
mov dword [ebp + 0x2c4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4277e4], eax
mov dword [0x426c34], ebx
mov edi, dword [ebp + 0x2cc]
mov eax, dword [0x427bf4]
add esp, 8
add ebp, 0x70
jmp 0x41e897
mov esi, ebp
mov edx, dword [0x427568]
mov dword [0x427658], edi
and dword [esp + 0x290], 0x7fffffff
mov dword [0x427664], edx
mov edi, dword [esp + 0x3c0]
mov dword [0x4276b4], edi
mov dword [0x4274e0], eax
mov eax, dword [esp + 0x290]
cmp eax, dword [esp + 0x3a8]
je 0x4152d5
mov eax, dword [0x4274e0]
mov edi, dword [0x427658]
inc dword [0x427674]
jmp 0x42072c
push eax
mov eax, dword [esp + 0x3a8]
mov edx, dword [0x427528]
add edx, dword [0x427564]
cmp dword [esp], edx
jge 0x41868f
mov eax, 0x2e
pop eax
mov eax, 0xf
mov edi, dword [esp - 4]
mov dword [esp + 0x270], ecx
sub esp, 0x20
mov ecx, dword [0x427224]
push ecx
mov eax, 0x2e
mov ecx, 0xf
repne scasb al, byte es:[edi]
mov eax, edi
mov eax, dword [0x427224]
mov dword [0x4274d8], edi
jmp 0x416343