Function at 0x40fcc0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x45bedc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push ebx
push ebp
push esi
push edi
mov ebx, ecx
push 0x64
lea ecx, [esp + 0x80]
mov dword [esp + 0x5c], ebx
call fcn.0043c1f0
xor edi, edi
mov dword [esp + 0x128], edi
mov esi, 0x4626bc
mov dword [esp + 0x7c], esi
mov dword [esp + 0x128], 1
push 0x64
lea ecx, [esp + 0xd0]
call fcn.0043c1f0
mov byte [esp + 0x128], 2
mov dword [esp + 0xcc], esi
mov byte [esp + 0x128], 3
push 0x64
lea ecx, [esp + 0xec]
call fcn.0043c1f0
mov byte [esp + 0x128], 4
mov dword [esp + 0xe8], esi
mov byte [esp + 0x128], 5
push 0x64
lea ecx, [esp + 0x108]
call fcn.0043c1f0
mov byte [esp + 0x128], 6
mov dword [esp + 0x104], esi
mov byte [esp + 0x128], 7
push 0x64
lea ecx, [esp + 0xb4]
call fcn.0043c1f0
mov byte [esp + 0x128], 8
mov dword [esp + 0xb0], esi
mov byte [esp + 0x128], 9
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edi
call fcn.0040e500
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
call fcn.0040e680
test eax, eax
je 0x40fde7
mov ecx, dword [esp + 0x38]
mov edx, dword [ebx + 0x140]
imul ecx, ecx, 0x4c
mov eax, dword [esp + 0x44]
mov dword [ecx + edx + 0x44], eax
movzx eax, word [ebx + 0x4a]
cmp eax, edi
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], edi
jbe 0x41016b
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x40fe10
mov edx, dword [esp + 0x40]
mov edi, edi
mov eax, dword [ebx + 0x140]
mov esi, dword [edx + eax + 0xc]
cmp esi, dword [ebx + 0xd4]
jne 0x410075
mov ecx, dword [ebx + 0x140]
mov edi, dword [edx + ecx + 8]
lea eax, [edx + ecx]
mov ecx, dword [ebx + 0xd8]
cmp edi, ecx
jne 0x410075
mov edx, dword [eax + 0x34]
test edx, edx
je 0x41016b
test ecx, ecx
mov eax, dword [eax + 0x30]
jbe 0x41014b
mov ecx, 0xfffffffc
lea edx, [eax + 4]
sub ecx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x3c], ecx
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov esi, dword [eax - 4]
test esi, esi
mov ebp, dword [eax]
je 0x41014b
push ebp
push esi
mov ecx, ebx
call fcn.0040eec0
mov edi, eax
push esi
lea ecx, [esp + 0x80]
shr edi, 2
call fcn.0043c2c0
mov ecx, dword [esp + 0x130]
mov word [eax], di
mov eax, dword [esp + 0x1c]
push eax
call fcn.0043c2c0
test ebp, ebp
mov word [eax], 0
jns 0x410046
lea ecx, [esp + 0x38]
push ecx
push esi
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410046
mov eax, dword [esp + 0x38]
mov edx, dword [ebx + 0x140]
imul eax, eax, 0x4c
mov edi, dword [edx + eax + 0x18]
lea ecx, [edx + eax]
mov ecx, dword [ecx + 0x30]
sub esi, edi
test ecx, ecx
je 0x410046
mov edi, dword [eax + edx + 0xc]
add eax, edx
mov edx, dword [eax + 0x34]
add edi, esi
cmp esi, edx
jae 0x410046
add esi, ecx
je 0x410046
mov ebp, dword [esp + 0x130]
lea eax, [edi - 8]
push eax
mov ecx, ebp
call fcn.0043c2c0
add edi, 0xfffffffc
push edi
mov ecx, ebp
mov word [eax], 0
call fcn.0043c2c0
mov word [eax], 0
mov esi, dword [esi - 4]
lea eax, [esp + 0x44]
push eax
push esi
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410046
mov eax, dword [esp + 0x44]
mov ecx, dword [ebx + 0x140]
imul eax, eax, 0x4c
mov edx, dword [ecx + eax + 0x18]
add ecx, eax
sub esi, edx
mov edx, dword [ecx + 0x30]
test edx, edx
je 0x410046
mov ecx, dword [ebx + 0x140]
mov edi, dword [eax + ecx + 0x34]
add eax, ecx
mov ecx, dword [eax + 0xc]
add ecx, esi
cmp esi, edi
jae 0x410046
add edx, esi
je 0x410046
mov eax, dword [edx]
cmp eax, 0x19930520
jb 0x40ffae
cmp eax, 0x19930522
ja 0x40ffae
push ebp
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040e750
jmp 0x410046
cmp eax, 0x10
ja 0x410019
shl eax, 2
xor edi, edi
test eax, eax
mov dword [esp + 0x50], eax
jbe 0x410046
sub edx, ecx
lea esi, [ecx + 4]
mov dword [esp + 0x48], edx
lea ecx, [ecx]
mov edx, dword [esp + 0x48]
mov eax, dword [edx + esi]
test eax, eax
je 0x41000b
push 0
push eax
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
jne 0x40fffe
push edi
push str.error__C_specific_handler__d_
push 0x4753f0
call fcn.0040bd40
add esp, 0xc
jmp 0x41000b
push esi
mov ecx, ebp
call fcn.0043c2c0
mov word [eax], 0
mov eax, dword [esp + 0x50]
inc edi
add esi, 4
cmp edi, eax
jb 0x40ffd0
jmp 0x410046
mov ecx, eax
and ecx, 0xffff0000
cmp ecx, 0xffff0000
je 0x410046
push eax
push str.Unknown_EH_MAGIC___08X
push 0x4753f0
call fcn.0040bd40
add esp, 0xc
mov dword [0x4766ec], 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
add eax, 8
add edx, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xd8]
add ecx, 8
cmp edx, eax
mov dword [esp + 0x1c], ecx
jb 0x40fe70
jmp 0x41014b
mov eax, dword [ebx + 0x140]
mov ecx, dword [eax + edx + 0x24]
add eax, edx
test ecx, 0x40000000
je 0x41014b
test ecx, 0x20000000
jne 0x41014b
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebx + 0xcc]
jne 0x4100b3
mov edx, dword [eax + 8]
cmp edx, dword [ebx + 0xd0]
je 0x41016b
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + 0x140]
add eax, ecx
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
test eax, eax
jbe 0x41014b
lea ebp, [eax - 1]
sub ecx, esi
shr ebp, 2
mov dword [esp + 0x48], ecx
inc ebp
lea ebx, [ebx]
mov eax, dword [ebx + 0xc4]
cmp eax, esi
mov edx, dword [esp + 0x48]
mov edi, dword [edx + esi]
ja 0x4100fd
mov ecx, dword [ebx + 0xc8]
add ecx, eax
cmp esi, ecx
jb 0x410145
mov eax, dword [ebx + 0xbc]
cmp eax, esi
ja 0x410113
mov edx, dword [ebx + 0xc0]
add edx, eax
cmp esi, edx
jb 0x410145
push 0
push edi
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410145
mov ecx, dword [esp + 0x130]
push esi
call fcn.0043c2c0
push edi
lea ecx, [esp + 0xd0]
mov word [eax], 0
call fcn.0043c2c0
mov word [eax], 0
add esi, 4
dec ebp
jne 0x4100e0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
inc eax
add edx, 0x4c
cmp eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], edx
jb 0x40fe0a
xor eax, eax
cmp word [ebx + 0x4a], ax
mov dword [esp + 0x24], eax
jbe 0x4112ff
jmp 0x410180
mov ecx, dword [ebx + 0x140]
imul eax, eax, 0x4c
mov edx, dword [ecx + eax + 0x24]
add ecx, eax
test edx, 0x20000000
mov dword [esp + 0x30], eax
je 0x4112ea
mov edx, dword [ebx + 0x140]
mov edx, dword [eax + edx + 0xc]
cmp edx, dword [ebx + 0xcc]
mov dword [esp + 0x40], edx
jne 0x4101c4
mov ecx, dword [ecx + 8]
cmp ecx, dword [ebx + 0xd0]
je 0x4112ff
mov edx, dword [ebx + 0x140]
mov ecx, dword [eax + edx + 0x30]
add eax, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x34]
lea edx, [ecx - 0x10]
xor eax, eax
test edx, edx
mov dword [esp + 0x28], ecx
jbe 0x410203
mov esi, dword [esp + 0x20]
add esi, eax
mov ecx, 2
mov edi, str._target_
xor ebp, ebp
repe cmpsd dword [esi], dword es:[edi]
je 0x4101ff
inc eax
cmp eax, edx
jb 0x4101e4
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], 0
jbe 0x410b79
jmp 0x410220
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov ebp, dword [edi + edx]
lea esi, [edi + eax]
mov eax, dword [ebx + 0xc4]
cmp eax, esi
mov dword [esp + 0x1c], esi
ja 0x410250
mov ecx, dword [ebx + 0xc8]
add ecx, eax
cmp esi, ecx
jb 0x410b62
mov eax, dword [ebx + 0xbc]
cmp eax, esi
ja 0x41026e
mov edx, dword [ebx + 0xc0]
add edx, eax
cmp esi, edx
jb 0x410b62
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x140]
mov ecx, dword [esp + 0x30]
cmp edi, dword [ecx + eax + 0x44]
jae 0x410330
lea edx, [esp + 0xa0]
push edx
push ebp
lea ecx, [esp + 0xd4]
call fcn.0043c040
test eax, eax
je 0x4102b7
mov ecx, dword [esp + 0x130]
push esi
call fcn.0043c2c0
mov word [eax], 0
mov byte [esp + 0x13], 1
jmp 0x410b62
lea eax, [esp + 0x9c]
push eax
push ebp
lea ecx, [esp + 0x84]
call fcn.0043c040
test eax, eax
je 0x4102ad
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x130]
push ebp
mov ecx, esi
call fcn.0043c2c0
mov word [eax], 0
mov al, byte [esp + 0x13]
test al, al
je 0x410326
test edi, edi
je 0x410326
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [edi + eax - 4]
push esi
push edx
push ecx
mov ecx, ebx
call fcn.0040ecf0
test eax, eax
je 0x410326
add ebp, 0xfffffffc
push ebp
mov ecx, esi
call fcn.0043c2c0
mov word [eax], 0
mov byte [esp + 0x13], 0
jmp 0x410b62
mov eax, ebp
shr eax, 0x10
mov dword [esp + 0x38], eax
movzx eax, ax
cmp eax, 0x759f
mov ecx, 1
jg 0x41046c
je 0x410384
cmp eax, 0x359f
jg 0x410413
je 0x410384
cmp eax, 0x159f
jg 0x4103f5
je 0x410384
cmp eax, 0x51f
je 0x410381
cmp eax, 0x59f
je 0x410384
cmp eax, 0x151f
jne 0x410512
or ecx, 0xffffffff
mov esi, ebp
and esi, 0xfff
imul esi, ecx
mov ecx, dword [esp + 0x20]
add esi, 8
lea eax, [esi + edi]
mov edi, dword [eax + ecx]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x410677
cmp dword [esp + 0x60], edi
ja 0x410677
cmp edi, eax
jae 0x410677
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
add esi, edi
push esi
call fcn.0043c2c0
cmp ebp, 0xe59fc004
mov word [eax], 0
jne 0x410b62
push edi
lea ecx, [esp + 0xec]
call fcn.0043c2c0
mov word [eax], 0
jmp 0x410b62
cmp eax, 0x251f
je 0x410381
cmp eax, 0x259f
je 0x410384
cmp eax, 0x351f
je 0x410381
jmp 0x410512
cmp eax, 0x559f
jg 0x410446
je 0x410384
cmp eax, 0x451f
je 0x410381
cmp eax, 0x459f
je 0x410384
cmp eax, 0x551f
je 0x410381
jmp 0x410512
cmp eax, 0x651f
je 0x410381
cmp eax, 0x659f
je 0x410384
cmp eax, 0x751f
je 0x410381
jmp 0x410512
cmp eax, 0xb59f
jg 0x4104cc
je 0x410384
cmp eax, 0x959f
jg 0x4104a9
je 0x410384
cmp eax, 0x851f
je 0x410381
cmp eax, 0x859f
je 0x410384
cmp eax, 0x951f
je 0x410381
jmp 0x410512
cmp eax, 0xa51f
je 0x410381
cmp eax, 0xa59f
je 0x410384
cmp eax, 0xb51f
je 0x410381
jmp 0x410512
cmp eax, 0xd59f
jg 0x4104fc
je 0x410384
cmp eax, 0xc51f
je 0x410381
cmp eax, 0xc59f
je 0x410384
cmp eax, 0xd51f
je 0x410381
jmp 0x410512
cmp eax, 0xe51f
je 0x410381
cmp eax, 0xe59f
je 0x410384
mov edx, ebp
and edx, 0xfffffff0
cmp edx, 0xe08ff000
jne 0x4105a9
mov eax, dword [esp + 0x20]
mov eax, dword [edi + eax - 4]
and ebp, 0xf
shr eax, 0x10
xor eax, ebp
cmp eax, 0xe1d0
je 0x41055e
cmp eax, 0xe590
je 0x410557
cmp eax, 0xe7d0
jne 0x410b62
mov edi, dword [esp + 0x14]
mov esi, 1
jmp 0x410563
mov esi, 4
jmp 0x410563
mov esi, 2
mov ecx, dword [esp + 0x20]
mov edx, 8
lea ecx, [edi + ecx - 8]
mov eax, dword [ecx]
mov ebp, eax
and ebp, 0xfff00000
cmp ebp, 0xe3500000
je 0x410592
add edx, 4
sub ecx, 4
cmp edx, 0x50
jb 0x410570
jmp 0x410b62
movzx eax, ax
imul eax, esi
add eax, 3
and eax, 0xfffffffc
add edi, eax
mov dword [esp + 0x14], edi
jmp 0x410b62
cmp ebp, 0xe6000010
jne 0x410b62
mov eax, dword [esp + 0x14]
cmp eax, 0x14
jb 0x410b62
mov edx, eax
mov eax, dword [esp + 0x20]
cmp dword [edx + eax - 4], 0x112fff1c
jne 0x410b62
mov ecx, edx
mov edx, eax
cmp dword [ecx + edx - 8], 0xe35c0000
jne 0x410b62
mov eax, ecx
mov ecx, edx
mov esi, dword [eax + ecx - 0x14]
mov edi, dword [eax + ecx - 0x10]
lea edx, [esi + 4]
cmp edx, edi
jne 0x410b62
lea eax, [esp + 0x70]
push eax
push esi
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410b62
mov ecx, dword [esp + 0x70]
mov eax, dword [ebx + 0x140]
imul ecx, ecx, 0x4c
add ecx, eax
mov eax, dword [ecx + 0x24]
test eax, 0x20000000
jne 0x410b62
test eax, eax
jns 0x410b62
push esi
call fcn.0040e250
test eax, eax
je 0x410b62
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x130]
lea edx, [edi - 0x14]
push edx
mov ecx, esi
call fcn.0043c2c0
add edi, 0xfffffff0
push edi
mov ecx, esi
mov word [eax], 0
call fcn.0043c2c0
mov word [eax], 0
jmp 0x410b62
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410b62
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
add esi, eax
push esi
call fcn.0043c2c0
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x54]
mov word [eax], 0
push edx
lea eax, [esp + 0x3c]
push eax
push edi
mov ecx, ebx
call fcn.0040e470
mov esi, eax
test esi, esi
je 0x410b62
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
cmp ecx, edx
jne 0x4109ee
mov eax, dword [ebx + 0x140]
imul ecx, ecx, 0x4c
add eax, ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x18]
cmp ecx, edi
ja 0x4109ee
mov eax, dword [eax + 0x44]
add eax, ecx
cmp edi, eax
jae 0x4109ee
mov ecx, dword [esp + 0x130]
mov edi, dword [esp + 0x48]
push ecx
push edx
mov edx, dword [esp + 0x3c]
push edi
push edx
push esi
mov ecx, ebx
call fcn.0040ef80
test eax, eax
jne 0x410b62
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push eax
push ecx
push edi
push edx
push esi
mov ecx, ebx
call fcn.0040f070
test eax, eax
jne 0x410b62
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push eax
push ecx
push edi
push edx
push esi
mov ecx, ebx
call fcn.0040f390
test eax, eax
jne 0x410b62
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.0040f4d0
test eax, eax
jne 0x410b62
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push edi
push eax
push ecx
push esi
mov ecx, ebx
call fcn.0040f850
test eax, eax
jne 0x410b62
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x24]
push edx
push eax
push edi
push esi
mov ecx, ebx
call fcn.0040f720
test eax, eax
jne 0x410b62
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
push ecx
push edx
push edi
push eax
push esi
mov ecx, ebx
call fcn.0040f7a0
test eax, eax
jne 0x410b62
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x24]
push ecx
push edx
push edi
push esi
mov ecx, ebx
call fcn.0040f920
test eax, eax
jne 0x410b62
mov eax, dword [ebx + 0x140]
mov ebp, dword [esi]
mov ecx, dword [esp + 0x30]
push ebp
add ecx, eax
call fcn.0040e220
test eax, eax
je 0x4108d7
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x18], 0
jbe 0x410895
mov eax, esi
sub eax, edi
mov ebp, edi
mov dword [esp + 0x1c], eax
jmp 0x410850
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebp]
test eax, eax
je 0x410895
mov edx, dword [esp + 0x30]
mov ecx, dword [ebx + 0x140]
push eax
add ecx, edx
call fcn.0040e220
test eax, eax
je 0x410895
mov ecx, dword [esp + 0x130]
push ebp
call fcn.0043c2c0
mov ecx, dword [esp + 0x34]
mov word [eax], 0
mov eax, dword [esp + 0x18]
add eax, 4
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x41084c
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xb0]
push edx
mov edx, dword [esi - 4]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0040ecf0
test eax, eax
je 0x410b62
mov ecx, dword [esp + 0x130]
add edi, 0xfffffffc
push edi
call fcn.0043c2c0
mov word [eax], 0
jmp 0x410b62
lea eax, [esp + 0x6c]
push eax
push ebp
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x410998
mov eax, dword [esp + 0x6c]
cmp eax, dword [esp + 0x24]
je 0x410998
mov ecx, dword [ebx + 0x140]
imul eax, eax, 0x4c
test dword [eax + ecx + 0x24], 0x20000000
mov dword [esp + 0x38], eax
je 0x410998
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x18], 0
jbe 0x410b62
sub esi, edi
mov dword [esp + 0x1c], esi
jmp 0x410935
mov esi, dword [esp + 0x1c]
mov esi, dword [edi + esi]
test esi, esi
je 0x410b62
mov ebp, dword [ebx + 0x140]
mov ecx, dword [esp + 0x38]
push esi
add ecx, ebp
call fcn.0040e220
test eax, eax
jne 0x41096b
mov edx, dword [esp + 0x30]
push esi
lea ecx, [edx + ebp]
call fcn.0040e220
test eax, eax
je 0x410b62
mov ecx, dword [esp + 0x130]
push edi
call fcn.0043c2c0
mov ecx, dword [esp + 0x34]
mov word [eax], 0
mov eax, dword [esp + 0x18]
add eax, 4
add edi, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410931
jmp 0x410b62
mov eax, dword [esp + 0x34]
xor ebp, ebp
test eax, eax
jbe 0x410b62
sub esi, edi
mov eax, dword [edi + esi]
test eax, eax
je 0x4109db
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x140]
push eax
add ecx, edx
call fcn.0040be80
test eax, eax
je 0x410b62
mov ecx, dword [esp + 0x130]
push edi
call fcn.0043c2c0
mov word [eax], 0
mov eax, dword [esp + 0x34]
add ebp, 4
add edi, 4
cmp ebp, eax
jb 0x4109a8
jmp 0x410b62
cmp word [esp + 0x38], 0xe59f
mov edi, dword [esp + 0x48]
jne 0x410a2d
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x138]
lea eax, [esp + 0x84]
push eax
push ecx
push edx
push edi
push esi
mov ecx, ebx
call fcn.0040f980
test eax, eax
jne 0x410b62
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x38], 0
jbe 0x410b62
sub esi, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], esi
jmp 0x410a51
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
movzx edi, word [ebx + 0x4a]
mov esi, dword [edx + esi]
xor edx, edx
test edi, edi
jbe 0x410b62
mov eax, dword [ebx + 0x140]
add eax, 0x18
nop
mov ecx, dword [eax]
cmp ecx, esi
ja 0x410a7f
mov ebp, dword [eax - 0x10]
add ebp, ecx
cmp esi, ebp
jb 0x410a8c
inc edx
add eax, 0x4c
cmp edx, edi
jb 0x410a70
jmp 0x410b62
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x130]
push eax
call fcn.0043c2c0
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x50]
mov word [eax], 0
push edx
lea eax, [esp + 0x4c]
push eax
push esi
mov ecx, ebx
call fcn.0040e470
test eax, eax
je 0x410b40
mov ecx, dword [esp + 0x44]
test ecx, ecx
mov dword [esp + 0x18], 0
jbe 0x410b40
mov esi, dword [esp + 0x78]
sub eax, esi
mov dword [esp + 0x4c], eax
jmp 0x410ae1
mov eax, dword [esp + 0x4c]
movzx edi, word [ebx + 0x4a]
mov ebp, dword [eax + esi]
xor edx, edx
test edi, edi
jbe 0x410b40
mov eax, dword [ebx + 0x140]
add eax, 0x18
mov ecx, dword [eax]
cmp ecx, ebp
ja 0x410b0a
mov ebx, dword [eax - 0x10]
add ebx, ecx
cmp ebp, ebx
jb 0x410b14
mov ebx, dword [esp + 0x58]
inc edx
add eax, 0x4c
cmp edx, edi
jb 0x410af7
jmp 0x410b40
mov ecx, dword [esp + 0x130]
push esi
call fcn.0043c2c0
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
mov word [eax], 0
mov eax, dword [esp + 0x18]
add eax, 4
add esi, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410add
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
add eax, 4
add edx, 4
cmp eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], edx
jb 0x410a4d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x410220
mov eax, dword [esp + 0x28]
xor esi, esi
test eax, eax
mov dword [esp + 0x14], esi
jbe 0x4110d6
jmp 0x410b90
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + ecx]
mov edx, dword [esp + 0x40]
lea edi, [esi + ecx]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
sub eax, ecx
lea ecx, [esp + 0x98]
push ecx
lea ebp, [esi + edx]
push eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x54], eax
call fcn.0043c040
test eax, eax
je 0x410bd6
push ebp
jmp 0x4110ae
mov edx, dword [ebx + 0x140]
mov eax, dword [esp + 0x30]
cmp esi, dword [eax + edx + 0x44]
jae 0x4110bf
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x1c
jne 0x410c21
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ecx
push edx
push ebp
sub eax, esi
push eax
push edi
mov ecx, ebx
call fcn.0040f070
test eax, eax
je 0x410c29
lea ecx, [esi + eax - 4]
mov dword [esp + 0x14], ecx
jmp 0x4110bf
cmp ecx, 0x100
jae 0x410c83
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + edx + 4]
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 0x140]
add eax, edx
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410c7f
mov eax, dword [eax + 0x44]
add eax, edx
cmp ecx, eax
jae 0x410c7f
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ebp
sub ecx, esi
push ecx
push edi
mov ecx, ebx
call fcn.0040f170
test eax, eax
je 0x410c7f
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4110bf
mov ecx, dword [esp + 0x2c]
mov edx, ecx
and edx, 0xfffffff0
cmp edx, 0x80000000
jne 0x410cc2
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push eax
push ecx
push ebp
sub edx, esi
push edx
push edi
mov ecx, ebx
call fcn.0040ef80
test eax, eax
je 0x410cbe
lea eax, [esi + eax - 4]
mov dword [esp + 0x14], eax
jmp 0x4110bf
mov ecx, dword [esp + 0x2c]
mov edi, dword [ebx + 0x140]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + edi + 0x18]
cmp eax, ecx
ja 0x410e6c
mov ecx, edx
mov edx, dword [ecx + edi + 0x44]
add edx, eax
mov eax, dword [esp + 0x2c]
cmp eax, edx
jae 0x410e6c
mov edx, dword [esp + 0x28]
mov esi, eax
mov eax, ecx
sub esi, dword [eax + edi + 0x18]
mov ecx, dword [esp + 0x20]
lea ebp, [esi + ecx]
xor ecx, ecx
sub edx, esi
je 0x410d20
mov ax, word [ebp + ecx*2]
test ax, ax
je 0x410d20
cmp ax, 0x20
jb 0x410d2a
cmp ax, 0x80
jae 0x410d2a
inc ecx
cmp ecx, edx
jb 0x410d05
mov ecx, dword [esp + 0x1c]
push ecx
jmp 0x4110ae
mov edx, dword [esp + 0x20]
lea ebp, [esi + edx]
mov edx, dword [esp + 0x28]
xor ecx, ecx
sub edx, esi
je 0x410d20
jmp 0x410d40
mov al, byte [ecx + ebp]
test al, al
je 0x410d20
cmp al, 0x20
jb 0x410d5e
cmp al, 0x80
ja 0x410d5e
inc ecx
cmp ecx, edx
jb 0x410d40
mov ecx, dword [esp + 0x1c]
push ecx
jmp 0x4110ae
mov ebp, dword [esp + 0x28]
cmp esi, ebp
jae 0x410db3
mov eax, dword [esp + 0x20]
mov eax, dword [esi + eax]
lea ecx, [esp + 0x64]
push ecx
push eax
mov ecx, ebx
call fcn.0040e350
test eax, eax
je 0x410db3
mov edx, dword [esp + 0x64]
imul edx, edx, 0x4c
mov eax, dword [edx + edi + 0x24]
test eax, eax
jns 0x410db3
mov eax, dword [esp + 0x40]
add esi, eax
push esi
mov esi, dword [esp + 0x134]
mov ecx, esi
call fcn.0043c2c0
mov ecx, dword [esp + 0x1c]
push ecx
mov word [eax], 0
mov ecx, esi
jmp 0x4110b5
mov edx, dword [esp + 0x14]
add edx, 0xc
cmp ebp, edx
mov ebp, dword [esp + 0x18]
jb 0x410dfa
mov eax, dword [ebp + 4]
test eax, eax
je 0x410e37
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + edi + 0x18]
cmp ecx, eax
ja 0x410ddf
mov esi, dword [edx + edi + 0x44]
add esi, ecx
cmp eax, esi
jb 0x410e37
mov eax, dword [ebp + 8]
test eax, eax
je 0x410e37
mov ecx, dword [edx + edi + 0x18]
cmp ecx, eax
ja 0x410dfe
mov esi, dword [edx + edi + 0x44]
add esi, ecx
cmp eax, esi
jb 0x410e37
jmp 0x410dfe
mov edx, dword [esp + 0x30]
cmp dword [esp + 0x14], 8
jb 0x410e41
mov eax, dword [ebp - 4]
test eax, eax
je 0x410e37
mov ecx, dword [edx + edi + 0x18]
cmp ecx, eax
ja 0x410e1e
mov esi, dword [edx + edi + 0x44]
add esi, ecx
cmp eax, esi
jb 0x410e37
mov eax, dword [ebp - 8]
test eax, eax
je 0x410e37
mov ecx, dword [edx + edi + 0x18]
cmp ecx, eax
ja 0x410e41
mov edx, dword [edx + edi + 0x44]
add edx, ecx
cmp eax, edx
jae 0x410e41
mov eax, dword [esp + 0x1c]
push eax
jmp 0x4110ae
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x130]
lea ecx, [esp + 0xac]
push ecx
push edx
mov ecx, esi
call fcn.0043c040
test eax, eax
je 0x410e6c
mov eax, dword [esp + 0x1c]
push eax
mov ecx, esi
jmp 0x4110b5
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x74]
push edx
push eax
mov ecx, ebx
call fcn.0040e3b0
test eax, eax
je 0x4110bf
mov esi, dword [esp + 0x74]
mov ecx, dword [ebx + 0x140]
imul esi, esi, 0x4c
mov eax, dword [ecx + esi + 0x24]
test eax, eax
jns 0x4110bf
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x130]
mov edx, ecx
mov eax, dword [edx + esi + 0xc]
lea ecx, [edx + esi]
sub eax, dword [ecx + 0x18]
lea ecx, [esp + 0xa8]
push ecx
add eax, ebp
push eax
mov ecx, edi
call fcn.0043c040
test eax, eax
je 0x410ed7
mov edx, dword [esp + 0x1c]
push edx
mov ecx, edi
jmp 0x4110b5
mov eax, dword [ebx + 0x140]
mov edx, dword [eax + esi + 0x18]
mov ecx, dword [eax + esi + 0xc]
add eax, esi
mov eax, dword [esp + 0x40]
sub ecx, edx
mov edx, dword [esp + 0x28]
sub ecx, eax
add ecx, ebp
mov ebp, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
push edx
lea eax, [ebp + 4]
push eax
push ecx
call fcn.0040e2d0
test al, al
je 0x410f19
mov edx, dword [esp + 0x1c]
push edx
mov ecx, edi
jmp 0x4110b5
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
lea eax, [ebp + 0xc]
cmp ecx, eax
jb 0x410f76
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x411045
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 0x140]
add eax, edx
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410f57
mov ebp, dword [eax + 8]
add ebp, edx
cmp ecx, ebp
jb 0x411045
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x411045
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410f76
mov eax, dword [eax + 8]
add eax, edx
cmp ecx, eax
jb 0x411045
cmp ebp, 8
jb 0x410fc9
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x411045
mov edx, dword [ebx + 0x140]
mov eax, dword [esp + 0x30]
add eax, edx
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410faa
mov ebp, dword [eax + 8]
add ebp, edx
cmp ecx, ebp
jb 0x411045
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x411045
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410fc9
mov eax, dword [eax + 8]
add eax, edx
cmp ecx, eax
jb 0x411045
mov ecx, dword [esp + 0x28]
lea eax, [ebp + 0xc]
cmp ecx, eax
jb 0x41100f
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x411045
mov edx, dword [ebx + 0x140]
lea eax, [edx + esi]
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x410ff8
mov ebp, dword [eax + 8]
add ebp, edx
cmp ecx, ebp
jb 0x411045
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x411045
mov edx, dword [eax + 0x18]
cmp edx, ecx
ja 0x41100f
mov eax, dword [eax + 8]
add eax, edx
cmp ecx, eax
jb 0x411045
cmp ebp, 8
jb 0x41105b
mov eax, dword [edi - 4]
test eax, eax
je 0x411045
mov ecx, dword [ebx + 0x140]
mov edx, dword [ecx + esi + 0x18]
add ecx, esi
cmp edx, eax
ja 0x411034
mov ebp, dword [ecx + 8]
add ebp, edx
cmp eax, ebp
jb 0x411045
mov eax, dword [edi - 8]
test eax, eax
je 0x411045
push eax
call fcn.0040be80
test eax, eax
je 0x41105b
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
push edx
call fcn.0043c2c0
mov word [eax], 0
mov eax, dword [ebx + 0x140]
mov edi, dword [eax + esi + 0x18]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + esi]
mov eax, dword [ecx + 0xc]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
sub eax, edi
sub eax, esi
add eax, edx
cmp eax, ecx
jae 0x4110bf
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx]
cmp eax, 0x1c
je 0x411091
test eax, eax
jne 0x4110bf
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call fcn.0040e280
test al, al
je 0x4110bf
mov edx, dword [esp + 0x1c]
push edx
mov ecx, dword [esp + 0x134]
call fcn.0043c2c0
mov word [eax], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
add esi, 4
cmp esi, eax
mov dword [esp + 0x14], esi
jb 0x410b90
mov eax, dword [esp + 0x134]
test eax, eax
je 0x4112ea
mov eax, dword [0x47559c]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x128], 0xa
mov eax, dword [esp + 0x28]
xor ebp, ebp
test eax, eax
mov byte [esp + 0x13], 0
mov dword [esp + 0x18], ebp
jbe 0x4112ce
lea ecx, [ecx]
mov ecx, dword [ebx + 0x140]
mov edi, dword [esp + 0x30]
mov eax, dword [edi + ecx + 0x44]
test eax, eax
je 0x411151
cmp ebp, eax
jne 0x411151
mov al, byte [esp + 0x13]
test al, al
je 0x411151
lea edx, [esp + 0x3c]
push str.______________data_start_offset_r_n
push edx
call fcn.00439100
mov ecx, dword [esp + 0x13c]
add esp, 8
lea eax, [esp + 0x3c]
push eax
call fcn.00441d20
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + ebp]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebx + 0x140]
lea esi, [eax + ebp]
mov eax, dword [edi + ecx + 0x18]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x54]
add eax, ebp
push edx
push eax
lea ecx, [esp + 0x84]
call fcn.0043c080
test eax, eax
je 0x41119b
mov ax, word [esp + 0x54]
test ax, ax
je 0x41119b
movzx eax, ax
lea ebp, [ebp + eax*4 - 4]
jmp 0x41128b
mov eax, dword [ebx + 0xc4]
cmp eax, esi
ja 0x4111b5
mov ecx, dword [ebx + 0xc8]
add ecx, eax
cmp esi, ecx
jb 0x41128b
mov eax, dword [ebx + 0xbc]
cmp eax, esi
ja 0x4111cf
mov edx, dword [ebx + 0xc0]
add edx, eax
cmp esi, edx
jb 0x41128b
movzx edi, word [ebx + 0x4a]
xor edx, edx
test edi, edi
jbe 0x41128b
mov eax, dword [ebx + 0x140]
mov ebp, dword [esp + 0x38]
add eax, 0x18
lea ebx, [ebx]
mov ecx, dword [eax]
cmp ecx, ebp
ja 0x411205
mov ebp, dword [eax - 0x10]
add ebp, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x38]
cmp ebp, ecx
jb 0x41120f
inc edx
add eax, 0x4c
cmp edx, edi
jb 0x4111f0
jmp 0x411287
mov ecx, dword [esp + 0x130]
lea eax, [esp + 0xa4]
push eax
push esi
call fcn.0043c040
test eax, eax
jne 0x411287
mov al, byte [esp + 0x13]
test al, al
jne 0x41125d
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x40]
push str.reloc_correct_begin__d__r_n
push edx
call fcn.00439100
mov ecx, dword [esp + 0x140]
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.00441d20
mov byte [esp + 0x13], 1
mov ecx, dword [ebx + 0x78]
add ecx, esi
push ecx
push esi
lea edx, [esp + 0x44]
push str._08X___08X__r_n
push edx
call fcn.00439100
mov ecx, dword [esp + 0x144]
add esp, 0x10
lea eax, [esp + 0x3c]
push eax
call fcn.00441d20
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add ebp, 4
cmp ebp, eax
mov dword [esp + 0x18], ebp
jb 0x411110
mov al, byte [esp + 0x13]
test al, al
je 0x4112ce
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x40]
push str.reloc_correct_end__d__r_n_r_n
push edx
call fcn.00439100
mov ecx, dword [esp + 0x140]
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.00441d20
movzx ecx, byte [esp + 0x13]
add dword [0x4766ec], ecx
mov byte [esp + 0x128], 9
lea ecx, [esp + 0x3c]
call fcn.004419e0
mov eax, dword [esp + 0x24]
movzx edx, word [ebx + 0x4a]
inc eax
cmp eax, edx
mov dword [esp + 0x24], eax
jb 0x410180
mov byte [esp + 0x128], 7
lea ecx, [esp + 0xb0]
call fcn.0043c220
mov byte [esp + 0x128], 5
lea ecx, [esp + 0x104]
call fcn.0043c220
mov byte [esp + 0x128], 3
lea ecx, [esp + 0xe8]
call fcn.0043c220
mov byte [esp + 0x128], 1
lea ecx, [esp + 0xcc]
call fcn.0043c220
mov dword [esp + 0x128], 0xffffffff
lea ecx, [esp + 0x7c]
call fcn.0043c220
mov ecx, dword [esp + 0x120]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x11c
ret 8