Function at 0x100043a0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x5c], esi
cmp dword [esi + 0x58], 2
jl 0x10004f22
cmp dword [esi + 4], 0
lea ebp, [esi + 4]
je 0x10004415
mov ebx, dword [esi + 0x34]
cmp ebx, 0xffffffff
jle 0x10004415
xorps xmm0, xmm0
xor edi, edi
movlpd qword [esp + 0x20], xmm0
test ebx, ebx
jle 0x1000440b
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov edx, edi
mov ecx, esi
call fcn.10003af0
add ebp, eax
adc dword [esp + 0x34], edx
inc edi
cmp edi, ebx
jl 0x100043e6
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x4c], ebp
lea ebp, [esi + 4]
mov edx, dword [esp + 0x4c]
jmp 0x10004425
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x1000441d
mov edx, 0xffffff7d
or ebx, 0xffffffff
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], edx
cmp dword [ebp], 0
jne 0x1000443b
mov eax, 0xffffff76
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [esp + 0xb4]
test eax, eax
jl 0x10004f22
mov edi, dword [esp + 0xb0]
jg 0x1000445b
test edi, edi
jb 0x10004f22
cmp eax, ebx
jg 0x10004f22
jl 0x1000446d
cmp edi, edx
ja 0x10004f22
mov ebp, dword [esi + 0x34]
sub ebp, 1
mov dword [esp + 0x58], ebp
js 0x100044b3
mov eax, dword [esi + 0x44]
mov ecx, ebp
shl ecx, 4
add eax, 8
add eax, ecx
mov ecx, dword [esp + 0xb4]
nop dword [eax]
sub edx, dword [eax]
sbb ebx, dword [eax + 4]
cmp ecx, ebx
jg 0x100044a7
jl 0x1000449f
cmp edi, edx
jae 0x100044a7
sub eax, 0x10
sub ebp, 1
jns 0x10004490
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], ebp
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x58]
shl ecx, 4
mov edi, dword [eax + ebp*8 + 8]
mov ebx, dword [eax + ebp*8 + 0xc]
mov edx, dword [eax + ebp*8]
mov ebp, dword [eax + ebp*8 + 4]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edx
mov esi, dword [eax + ecx]
mov edi, dword [eax + ecx + 4]
mov dword [esp + 0x68], esi
add esi, dword [eax + ecx + 8]
mov eax, dword [eax + ecx + 0xc]
mov ecx, edi
adc eax, ecx
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x50], esi
sbb ecx, dword [esp + 0x34]
add eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x5c]
adc ecx, dword [esp + 0xb4]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x74], ebp
cmp ebp, ebx
jg 0x100049fd
jl 0x10004546
cmp edx, edi
jae 0x100049fd
sub edi, edx
sbb ebx, ebp
test ebx, ebx
jg 0x10004560
jl 0x1000466b
cmp edi, 0x400
jb 0x1000466b
mov ecx, dword [esp + 0x50]
xorps xmm0, xmm0
sub ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x20]
sbb eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x68]
mov dword [esp + 0x18], ecx
sbb ebp, dword [esp + 0x54]
movlpd qword [esp + 0x40], xmm0
movlpd qword [esp + 0x60], xmm0
cmp ebp, dword [esp + 0x14]
jl 0x100045ab
jg 0x10004643
cmp eax, ecx
jae 0x10004643
test ebp, ebp
jg 0x100045c4
jl 0x100045b5
test eax, eax
jne 0x100045c4
movlpd qword [esp + 0x40], xmm0
mov ebx, dword [esp + 0x44]
jmp 0x1000463f
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], 0x40
cmp ebp, dword [esp + 0x14]
jl 0x100045ed
jg 0x100045e2
cmp eax, dword [esp + 0x18]
jb 0x100045ed
or ecx, 1
sub eax, dword [esp + 0x18]
sbb ebp, dword [esp + 0x14]
shld ebp, eax, 1
shld edx, ecx, 1
add eax, eax
add ecx, ecx
sub dword [esp + 0x38], 1
jne 0x100045d4
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], 0x40
mov eax, ecx
and eax, 1
or eax, 0
je 0x1000461e
add esi, edi
adc ebp, ebx
shrd ecx, edx, 1
shrd esi, ebp, 1
sar edx, 1
sar ebp, 1
sub dword [esp + 0x38], 1
jne 0x10004610
mov edx, dword [esp + 0x28]
mov ebx, ebp
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
add edi, edx
mov ecx, edx
mov eax, ebp
adc ebx, ebp
sub edi, 0x400
sbb ebx, 0
add ecx, 0x400
adc eax, 0
cmp ebx, eax
jg 0x1000466f
jl 0x1000466b
cmp edi, ecx
jae 0x1000466f
mov ebx, ebp
mov edi, edx
cmp edi, dword [esi + 8]
jne 0x10004679
cmp ebx, dword [esi + 0xc]
je 0x100046d3
mov ecx, dword [esi]
test ecx, ecx
je 0x10004b1c
mov eax, dword [esi + 0x28c]
test eax, eax
je 0x10004ab8
push 0
push ebx
push edi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x10004ab8
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
cmp dword [esi + 0x1c], 0
jl 0x100046d3
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov eax, dword [esp + 0x2c]
mov ecx, eax
lea edx, [esp + 0x78]
sub ecx, dword [esi + 8]
mov eax, dword [esp + 0x1c]
sbb eax, dword [esi + 0xc]
push eax
push ecx
mov ecx, esi
call fcn.10001b80
mov ebp, eax
add esp, 8
mov eax, edx
mov dword [esp + 0x38], eax
cmp ebp, 0xffffff80
jne 0x10004709
cmp eax, 0xffffffff
je 0x10004ac5
test eax, eax
jg 0x100047d5
jl 0x1000471b
test ebp, ebp
jae 0x100047d5
mov ecx, dword [esp + 0x28]
mov eax, ecx
mov edx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x14], edx
adc dword [esp + 0x14], 0
mov dword [esp + 0x40], eax
cmp ebx, dword [esp + 0x14]
jl 0x100049fd
jg 0x10004749
cmp edi, eax
jbe 0x100049fd
mov eax, edi
or eax, ebx
je 0x10004ac5
add edi, 0xfffffc00
adc ebx, 0xffffffff
cmp ebx, edx
jg 0x1000476e
jl 0x10004766
cmp edi, ecx
ja 0x1000476e
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi]
test ecx, ecx
je 0x10004b1c
mov eax, dword [esi + 0x28c]
test eax, eax
je 0x10004ab8
push 0
push ebx
push edi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x10004ab8
mov edx, dword [esp + 0x28]
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
cmp dword [esi + 0x1c], 0
jl 0x100049e1
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
jmp 0x100049e1
mov edx, dword [esp + 0x78]
movzx ecx, byte [edx + 0x11]
movzx eax, byte [edx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0xe]
mov edx, dword [esp + 0x58]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0x40]
cmp ecx, dword [eax + edx*4]
jne 0x100049dd
mov ecx, dword [esp + 0x78]
movzx eax, byte [ecx + 0xd]
cdq
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xc]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xb]
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xa]
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 9]
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 8]
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 7]
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
shld dword [esp + 0x18], eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 6]
mov ecx, dword [esp + 0x14]
cdq
or dword [esp + 0x18], edx
or ecx, eax
mov eax, ecx
and eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x100049dd
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x70]
jg 0x10004951
jl 0x10004904
cmp ecx, dword [esp + 0x6c]
jae 0x10004951
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x38]
sub edi, ecx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x70]
sbb eax, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x10004a93
jl 0x1000494a
cmp edi, 0xac44
ja 0x10004a93
mov edi, edx
jmp 0x100049e1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add edx, 1
mov dword [esp + 0x14], eax
adc dword [esp + 0x14], 0
mov dword [esp + 0x40], edx
cmp ebx, dword [esp + 0x14]
jl 0x100049fd
jg 0x1000497d
cmp edi, edx
jbe 0x100049fd
mov edx, dword [esp + 0x2c]
cmp edx, dword [esi + 8]
mov edx, dword [esp + 0x28]
jne 0x10004a79
mov eax, dword [esp + 0x1c]
cmp eax, dword [esi + 0xc]
mov eax, dword [esp + 0x30]
jne 0x10004a79
mov ecx, dword [esp + 0x38]
add edi, 0xfffffc00
mov dword [esp + 0x2c], ebp
adc ebx, 0xffffffff
mov dword [esp + 0x1c], ecx
cmp ebx, eax
jg 0x100049c6
jl 0x100049be
cmp edi, edx
ja 0x100049c6
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
push ebx
push edi
mov ecx, esi
call fcn.10001b00
cdq
add esp, 8
mov ebp, eax
or eax, edx
jne 0x10004ac5
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], eax
jg 0x100049fd
mov eax, dword [esp + 0x2c]
jl 0x100046d7
cmp edx, eax
jb 0x100046d7
push dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x40]
call fcn.10001b00
cdq
add esp, 8
mov ebp, eax
mov dword [esi + 0x50], 0xffffffff
or eax, edx
mov dword [esi + 0x54], 0xffffffff
jne 0x10004ac5
push 0xffffffffffffffff
push 0xffffffffffffffff
lea edx, [esp + 0x80]
mov ecx, esi
call fcn.10001b80
add esp, 8
mov ebp, eax
test edx, edx
jl 0x10004ac5
jg 0x10004a4d
test ebp, ebp
jb 0x10004ac5
mov ebx, dword [esp + 0x58]
cmp ebx, dword [esi + 0x60]
je 0x10004b23
mov ecx, esi
call fcn.10002fd0
mov eax, dword [esi + 0x40]
mov dword [esi + 0x60], ebx
mov eax, dword [eax + ebx*4]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], 3
jmp 0x10004b2e
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], eax
jmp 0x10004a97
mov edi, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x1c]
jg 0x100049fd
jl 0x10004aab
cmp edx, edi
jae 0x100049fd
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
jmp 0x10004546
mov ebp, 0xffffff80
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esi + 0x1e0]
mov dword [esi + 0x50], 0xffffffff
mov dword [esi + 0x54], 0xffffffff
call fcn.100059a0
lea edi, [esi + 0x230]
mov ecx, edi
call fcn.10005660
mov eax, dword [edi + 0x44]
test eax, eax
je 0x10004afb
push eax
call fcn.1001791b
add esp, 4
push 0x58
push 0
push edi
call fcn.1000fa00
add esp, 0xc
mov dword [esi + 0x58], 2
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebp, 0xffffff7f
jmp 0x10004abd
lea ecx, [esi + 0x1e0]
call fcn.10005940
mov edx, dword [esi + 0x5c]
lea edi, [esi + 0x78]
mov ecx, edi
call fcn.1000e2d0
lea edx, [esp + 0x78]
call fcn.1000df50
test edi, edi
je 0x10004cf2
nop dword [eax]
cmp dword [edi], 0
je 0x10004cf2
push 0
lea edx, [esp + 0x8c]
mov ecx, edi
call fcn.1000e360
add esp, 4
test eax, eax
je 0x10004cf2
js 0x10004ce8
mov edx, dword [esp + 0x98]
mov eax, edx
mov ebx, dword [esp + 0x9c]
and eax, ebx
cmp eax, 0xffffffff
jne 0x10004c03
cmp dword [edi], 0
je 0x10004cf2
mov edx, dword [edi + 0x24]
cmp dword [edi + 0x20], edx
jle 0x10004b50
mov eax, dword [edi + 0x10]
lea ecx, [eax + edx*4]
mov eax, dword [ecx]
test eax, 0x400
je 0x10004bc7
add dword [edi + 0x158], 1
lea eax, [edx + 1]
mov dword [edi + 0x24], eax
adc dword [edi + 0x15c], 0
jmp 0x10004b50
movzx ebx, al
cmp ebx, 0xff
jne 0x10004be7
mov eax, dword [ecx + 4]
lea ecx, [ecx + 4]
and eax, 0xff
inc edx
add ebx, eax
cmp eax, 0xff
je 0x10004bd2
add dword [edi + 0xc], ebx
lea eax, [edx + 1]
add dword [edi + 0x158], 1
mov dword [edi + 0x24], eax
adc dword [edi + 0x15c], 0
jmp 0x10004b50
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x44]
shl ecx, 4
sub edx, dword [ecx + eax]
sbb ebx, dword [ecx + eax + 4]
test ebx, ebx
jg 0x10004c2e
jl 0x10004c1d
test edx, edx
jae 0x10004c2e
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x4c]
mov dword [esi + 0x50], edx
adc ebx, dword [esp + 0x34]
mov dword [esi + 0x54], ebx
cmp ebx, dword [esp + 0xb4]
jg 0x10004b1c
jl 0x10004c58
cmp edx, dword [esp + 0xb0]
ja 0x10004b1c
cmp dword [esi + 0x58], 2
jl 0x10004b1c
cmp dword [esi + 4], 0
je 0x10004b1c
mov eax, dword [esi + 0x34]
cmp eax, 0xffffffff
jle 0x10004b1c
xorps xmm0, xmm0
xor edi, edi
movlpd qword [esp + 0x20], xmm0
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test eax, eax
jle 0x10004ca3
nop
mov edx, edi
mov ecx, esi
call fcn.10003af0
add ebx, eax
adc ebp, edx
inc edi
cmp edi, dword [esi + 0x34]
jl 0x10004c90
cmp dword [esp + 0xb4], ebp
jg 0x10004b1c
jl 0x10004cbf
cmp dword [esp + 0xb0], ebx
ja 0x10004b1c
mov dword [esi + 0x68], 0
xor eax, eax
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebp, 0xffffff78
jmp 0x10004abd
push dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x40]
call fcn.10001b00
cdq
add esp, 8
mov ebp, eax
test edx, edx
jl 0x10004ac5
jg 0x10004d20
test ebp, ebp
jb 0x10004ac5
nop dword [eax]
mov eax, dword [esi + 8]
mov edi, eax
mov ecx, dword [esi + 0xc]
mov ebx, ecx
mov dword [esp + 0x1c], 0xffffffff
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], 0xffffffff
nop
add edi, 0xfffffc00
adc ebx, 0xffffffff
test ebx, ebx
jg 0x10004d74
jl 0x10004d63
test edi, edi
jae 0x10004d74
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov eax, dword [esi]
test eax, eax
je 0x10004ea3
mov ecx, dword [esi + 0x28c]
test ecx, ecx
je 0x10004e9c
push 0
push ebx
push edi
push eax
call ecx
add esp, 0x10
cmp eax, 0xffffffff
je 0x10004e9c
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
cmp dword [esi + 0x1c], 0
jl 0x10004dce
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov edx, ebx
mov eax, edi
cmp edx, dword [esp + 0x20]
jg 0x10004e3c
jl 0x10004de0
cmp eax, dword [esp + 0x50]
jae 0x10004e3c
mov ecx, dword [esp + 0x40]
xorps xmm0, xmm0
sub ecx, eax
mov eax, dword [esp + 0x5c]
movups xmmword [esp + 0x78], xmm0
sbb eax, edx
lea edx, [esp + 0x78]
push eax
push ecx
mov ecx, esi
call fcn.10001b80
add esp, 8
cmp eax, 0xffffff80
jne 0x10004e12
cmp edx, 0xffffffff
je 0x10004ab8
test edx, edx
jl 0x10004e38
jg 0x10004e1c
test eax, eax
jb 0x10004e38
mov dword [esp + 0x3c], edx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
cmp edx, dword [esp + 0x20]
jl 0x10004de0
jg 0x10004e38
cmp eax, dword [esp + 0x50]
jb 0x10004de0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov eax, ebp
and eax, ecx
cmp eax, 0xffffffff
je 0x10004d50
cmp dword [esp + 0x7c], 0
jne 0x10004e92
push ecx
push ebp
mov ecx, esi
call fcn.10001b00
cdq
add esp, 8
mov edi, edx
mov ebp, eax
or eax, edi
jne 0x10004eab
push eax
push 0x400
lea edx, [esp + 0x80]
mov ecx, esi
call fcn.10001b80
add esp, 8
test edx, edx
jl 0x10004b1c
jg 0x10004e92
test eax, eax
jb 0x10004b1c
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
jmp 0x10004eab
mov ebp, 0xffffff80
jmp 0x10004ea8
mov ebp, 0xffffff7f
or edi, 0xffffffff
test edi, edi
jl 0x10004ac5
jg 0x10004ebd
test ebp, ebp
jb 0x10004ac5
mov ebx, dword [esp + 0x78]
movzx ecx, byte [ebx + 0x11]
movzx eax, byte [ebx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 0xe]
shl ecx, 8
or ecx, eax
cmp ecx, dword [esi + 0x5c]
jne 0x10004f00
lea ecx, [esp + 0x78]
call fcn.1000d910
cmp edx, 0xffffffff
jg 0x10004f0b
jl 0x10004efa
cmp eax, 0xffffffff
ja 0x10004f0b
test byte [ebx + 5], 1
je 0x10004f0b
mov dword [esi + 8], ebp
mov dword [esi + 0xc], edi
jmp 0x10004d20
push edi
push ebp
mov ecx, esi
call fcn.10003c30
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7d
pop ebx
add esp, 0x9c
ret