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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 0
mov eax, dword [edi + 0xb0]
mov esi, dword [eax + 0x54]
test esi, esi
je 0x43ea84
mov dword [esp + 4], str._nProgram_Header:_n
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [edi + 0xb0]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x43ea84
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
cmp eax, 5
je 0x43ea12
ja 0x43ea1c
cmp eax, 2
je 0x43eb50
ja 0x43eb08
test eax, eax
jne 0x43eb5c
mov eax, str.NULL
nop
mov dword [esp + 8], eax
mov dword [esp + 4], str._8s_off____0x
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040571c
mov dword [esp + 4], str._vaddr_0x
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040571c
mov dword [esp + 4], str._paddr_0x
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040571c
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004070ec
mov dword [esp + 8], eax
mov dword [esp + 4], str._align_2_u_n
mov dword [esp], ebx
call fcn.00434fc8
mov dword [esp + 4], str._________filesz_0x
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040571c
mov dword [esp + 4], str._memsz_0x
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040571c
mov eax, dword [esi + 4]
mov edx, eax
and edx, 1
cmp edx, 1
sbb ecx, ecx
and ecx, 0xffffffb5
add ecx, 0x78
mov edx, eax
and edx, 2
cmp edx, 1
sbb edx, edx
and edx, 0xffffffb6
add edx, 0x77
and eax, 4
cmp eax, 1
sbb eax, eax
and eax, 0xffffffbb
add eax, 0x72
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str._flags__c_c_c
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [esi + 4]
and eax, 0xfffffff8
jne 0x43ea68
mov dword [esp + 4], 0x47639c
mov dword [esp], ebx
call fcn.00434fc8
inc dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
cmp dword [ebp - 0x50], edx
jbe 0x43ea84
add esi, 0x38
mov eax, dword [esi]
cmp eax, 5
jne 0x43e86c
mov eax, str.SHLIB
jmp 0x43e890
cmp eax, 0x6474e550
je 0x43eb2c
ja 0x43eaec
cmp eax, 6
je 0x43eb44
cmp eax, 7
je 0x43ea5c
mov dword [esp + 8], eax
mov dword [esp + 4], str.0x_lx
lea eax, [ebp - 0x44]
mov dword [esp], eax
call fcn.00434fec
lea eax, [ebp - 0x44]
jmp 0x43e890
mov eax, 0x476146
jmp 0x43e890
mov dword [esp + 8], eax
mov dword [esp + 4], str.__lx
mov dword [esp], ebx
call fcn.00434fc8
jmp 0x43e9e5
mov dword [esp + 4], 0x475f53
mov dword [esp], edi
call fcn.00402d4c
mov esi, eax
test eax, eax
je 0x43ec7e
mov dword [esp + 4], str._nDynamic_Section:_n
mov dword [esp], ebx
call fcn.00434fc8
lea eax, [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00403524
test eax, eax
jne 0x43eb70
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x43ecf4
mov dword [esp], eax
call fcn.00463c40
xor eax, eax
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
cmp eax, 0x6474e551
je 0x43eb38
cmp eax, 0x6474e552
jne 0x43ea3b
mov eax, str.RELRO
jmp 0x43e890
cmp eax, 3
je 0x43eb20
cmp eax, 4
jne 0x43ea3b
mov eax, str.NOTE
jmp 0x43e890
mov eax, str.INTERP
jmp 0x43e890
mov eax, str.EH_FRAME
jmp 0x43e890
mov eax, str.STACK
jmp 0x43e890
mov eax, str.PHDR
jmp 0x43e890
mov eax, str.DYNAMIC
jmp 0x43e890
cmp eax, 1
jne 0x43ea3b
mov eax, str.LOAD
jmp 0x43e890
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00438a24
cmp eax, 0xffffffff
je 0x43eac9
mov edx, dword [edi + 0xb0]
mov edx, dword [edx + 0x50]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 0x114]
movzx ecx, byte [eax + 6]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi + 0x28]
add esi, eax
mov dword [ebp - 0x50], esi
cmp eax, esi
jae 0x43ec6f
lea esi, [eax + ecx]
lea esi, [esi]
lea eax, [ebp - 0x30]
mov dword [esp + 8], eax
mov eax, esi
sub eax, dword [ebp - 0x4c]
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [ebp - 0x54]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, eax
or ecx, edx
je 0x43ec6c
mov ecx, edx
xor ecx, 0x1d
or ecx, eax
jne 0x43ed04
mov dword [ebp - 0x6c], str.RUNPATH
mov eax, dword [ebp - 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.____11s
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00435b10
test eax, eax
je 0x43eac9
mov dword [esp + 8], eax
mov dword [esp + 4], 0x475d86
mov dword [esp], ebx
call fcn.00434fc8
mov dword [esp + 4], 0x47639c
mov dword [esp], ebx
call fcn.00434fc8
add esi, dword [ebp - 0x4c]
mov eax, esi
sub eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x50], eax
ja 0x43ebcc
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.00463c40
mov dword [ebp - 0x1c], 0
mov eax, dword [edi + 0xb0]
mov edx, dword [eax + 0x318]
test edx, edx
je 0x43ec98
mov ecx, dword [eax + 0x390]
test ecx, ecx
je 0x43ecd2
mov esi, dword [eax + 0x31c]
test esi, esi
jne 0x43ecc8
test edx, edx
jne 0x43ee98
mov eax, dword [eax + 0x31c]
test eax, eax
jne 0x43ee13
mov eax, 1
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
mov ecx, dword [eax + 0x394]
test ecx, ecx
jne 0x43eca2
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0043e150
test eax, eax
je 0x43ecf4
mov eax, dword [edi + 0xb0]
mov edx, dword [eax + 0x318]
jmp 0x43eca2
xor eax, eax
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
cmp eax, 0
ja 0x43ed24
cmp edx, 0x1d
ja 0x43ed24
mov ecx, edx
xor ecx, 0xe
or ecx, eax
jne 0x43ed84
mov dword [ebp - 0x6c], str.SONAME
jmp 0x43ec02
mov ecx, edx
xor ecx, 0x6ffffefc
or ecx, eax
jne 0x43ed3c
mov dword [ebp - 0x6c], str.AUDIT
jmp 0x43ec02
cmp eax, 0
ja 0x43ed68
cmp edx, 0x6ffffefc
ja 0x43ed68
mov ecx, edx
xor ecx, 0x6ffffdfb
or ecx, eax
jne 0x43f052
mov dword [ebp - 0x6c], str.MOVESZ
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffffb
or ecx, eax
jne 0x43ef75
mov dword [ebp - 0x6c], str.FLAGS_1
jmp 0x43efcc
cmp edx, 0xe
ja 0x43ef5f
mov ecx, edx
xor ecx, 7
or ecx, eax
je 0x43f10c
cmp edx, 7
ja 0x43f1e8
mov ecx, edx
xor ecx, 3
mov dword [ebp - 0x6c], str.PLTGOT
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f410
cmp edx, 3
ja 0x43f410
mov ecx, edx
xor ecx, 1
mov dword [ebp - 0x6c], str.NEEDED
or ecx, eax
je 0x43ec02
mov ecx, edx
xor ecx, 2
mov dword [ebp - 0x6c], str.PLTRELSZ
or eax, ecx
je 0x43efcc
mov dword [esp + 8], edx
mov dword [esp + 4], str.0x_lx
lea eax, [ebp - 0x44]
mov dword [esp], eax
call fcn.00434fec
lea edx, [ebp - 0x44]
mov dword [ebp - 0x6c], edx
jmp 0x43efcc
mov dword [esp + 4], str._nVersion_References:_n
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [edi + 0xb0]
mov edi, dword [eax + 0x394]
test edi, edi
je 0x43ecb8
nop
mov eax, dword [edi + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__required_from__s:_n
mov dword [esp], ebx
call fcn.00434fc8
mov esi, dword [edi + 0x18]
test esi, esi
je 0x43ee8c
nop
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
movzx eax, word [esi + 6]
mov dword [esp + 0x10], eax
movzx eax, word [esi + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esi]
mov dword [esp + 8], eax
mov dword [esp + 4], str.____0x_8.8lx_0x_2.2x__2.2d__s_n
mov dword [esp], ebx
call fcn.00434fc8
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x43ee58
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x43ee38
jmp 0x43ecb8
mov dword [esp + 4], str._nVersion_definitions:_n
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [edi + 0xb0]
mov edx, dword [eax + 0x390]
test edx, edx
je 0x43ecaa
mov dword [ebp - 0x4c], edi
mov edi, edx
lea esi, [esi]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
movzx eax, word [edi + 2]
mov dword [esp + 0xc], eax
movzx eax, word [edi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], str._d_0x_2.2x_0x_8.8lx__s_n
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [edi + 0x20]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x43ef46
mov dword [esp + 4], 0x4763e9
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [edi + 0x20]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x43ef36
nop
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4763eb
mov dword [esp], ebx
call fcn.00434fc8
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x43ef18
mov dword [esp + 4], 0x47639c
mov dword [esp], ebx
call fcn.00434fc8
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x43eec4
mov edi, dword [ebp - 0x4c]
mov eax, dword [edi + 0xb0]
jmp 0x43ecaa
mov ecx, edx
xor ecx, 0x15
or ecx, eax
jne 0x43f0b8
mov dword [ebp - 0x6c], str.DEBUG
jmp 0x43efcc
cmp eax, 0
ja 0x43efff
cmp edx, 0x6ffffffb
ja 0x43efff
mov ecx, edx
xor ecx, 0x6ffffeff
or ecx, eax
je 0x43f1d0
cmp edx, 0x6ffffeff
ja 0x43f2bd
mov ecx, edx
xor ecx, 0x6ffffefd
mov dword [ebp - 0x6c], str.PLTPAD
or ecx, eax
je 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffefe
mov dword [ebp - 0x6c], str.MOVETAB
or eax, ecx
jne 0x43edf1
mov ecx, dword [ebp - 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 4], str.____11s
mov dword [esp], ebx
call fcn.00434fc8
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str.0x_lx
mov dword [esp], ebx
call fcn.00434fc8
jmp 0x43ec4b
mov ecx, edx
xor ecx, 0x6fffffff
or ecx, eax
je 0x43f118
cmp eax, 0
ja 0x43f23c
cmp edx, 0x6fffffff
ja 0x43f23c
mov ecx, edx
xor ecx, 0x6ffffffd
mov dword [ebp - 0x6c], str.VERDEFNUM
or eax, ecx
je 0x43efcc
mov dword [ebp - 0x6c], str.VERNEED
cmp edx, 0x6ffffffd
ja 0x43efcc
mov dword [ebp - 0x6c], str.VERDEF
jmp 0x43efcc
cmp edx, 0x6ffffdfb
jbe 0x43f16c
mov ecx, edx
xor ecx, 0x6ffffdfe
or ecx, eax
je 0x43f1c4
cmp eax, 0
ja 0x43f30c
cmp edx, 0x6ffffdfe
ja 0x43f30c
mov ecx, edx
xor ecx, 0x6ffffdfc
mov dword [ebp - 0x6c], str.FEATURE
or ecx, eax
je 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffdfd
mov dword [ebp - 0x6c], str.POSFLAG_1
or eax, ecx
je 0x43efcc
jmp 0x43edf1
cmp eax, 0
jbe 0x43f124
mov ecx, edx
xor ecx, 0x19
or ecx, eax
je 0x43f1ac
cmp eax, 0
ja 0x43f287
cmp edx, 0x19
ja 0x43f287
mov ecx, edx
xor ecx, 0x17
mov dword [ebp - 0x6c], str.JMPREL
or eax, ecx
je 0x43efcc
mov dword [ebp - 0x6c], str.BIND_NOW
cmp edx, 0x17
ja 0x43efcc
mov dword [ebp - 0x6c], str.TEXTREL
jmp 0x43efcc
mov dword [ebp - 0x6c], str.RELA
jmp 0x43efcc
mov dword [ebp - 0x6c], str.VERNEEDNUM
jmp 0x43efcc
cmp edx, 0x15
ja 0x43f0bd
mov ecx, edx
xor ecx, 0x11
or ecx, eax
je 0x43f1dc
cmp edx, 0x11
ja 0x43f38e
mov ecx, edx
xor ecx, 0xf
mov dword [ebp - 0x6c], str.RPATH
or ecx, eax
je 0x43ec02
mov ecx, edx
xor ecx, 0x10
mov dword [ebp - 0x6c], str.SYMBOLIC
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov ecx, edx
xor ecx, 0x21
or ecx, eax
je 0x43f1b8
cmp edx, 0x21
ja 0x43f3c4
mov ecx, edx
xor ecx, 0x1e
mov dword [ebp - 0x6c], str.FLAGS
or ecx, eax
je 0x43efcc
mov ecx, edx
xor ecx, 0x20
mov dword [ebp - 0x6c], str.PREINIT_ARRAY
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov dword [ebp - 0x6c], str.INIT_ARRAY
jmp 0x43efcc
mov dword [ebp - 0x6c], str.PREINIT_ARRAYSZ
jmp 0x43efcc
mov dword [ebp - 0x6c], str.SYMINSZ
jmp 0x43efcc
mov dword [ebp - 0x6c], str.SYMINFO
jmp 0x43efcc
mov dword [ebp - 0x6c], 0x4761cc
jmp 0x43efcc
mov ecx, edx
xor ecx, 0xa
or ecx, eax
je 0x43f230
cmp eax, 0
ja 0x43f358
cmp edx, 0xa
ja 0x43f358
mov ecx, edx
xor ecx, 8
mov dword [ebp - 0x6c], str.RELASZ
or ecx, eax
je 0x43efcc
mov ecx, edx
xor ecx, 9
mov dword [ebp - 0x6c], str.RELAENT
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov dword [ebp - 0x6c], str.STRSZ
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x7ffffffe
or ecx, eax
je 0x43f27b
mov ecx, edx
xor ecx, 0x7fffffff
mov dword [ebp - 0x6c], str.FILTER
or ecx, eax
je 0x43ec02
mov ecx, edx
xor ecx, 0x7ffffffd
mov dword [ebp - 0x6c], str.AUXILIARY
or eax, ecx
je 0x43ec02
jmp 0x43edf1
mov dword [ebp - 0x6c], str.USED
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x1b
mov dword [ebp - 0x6c], str.INIT_ARRAYSZ
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f2a5
cmp edx, 0x1b
jbe 0x43f2b1
mov dword [ebp - 0x6c], str.FINI_ARRAYSZ
jmp 0x43efcc
mov dword [ebp - 0x6c], str.FINI_ARRAY
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffff9
mov dword [ebp - 0x6c], str.RELACOUNT
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f300
cmp edx, 0x6ffffff9
ja 0x43f300
mov ecx, edx
xor ecx, 0x6ffffff0
mov dword [ebp - 0x6c], str.VERSYM
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov dword [ebp - 0x6c], str.RELCOUNT
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffefa
mov dword [ebp - 0x6c], str.CONFIG
or ecx, eax
je 0x43ec02
cmp eax, 0
ja 0x43f34c
cmp edx, 0x6ffffefa
ja 0x43f34c
mov ecx, edx
xor ecx, 0x6ffffdff
mov dword [ebp - 0x6c], str.SYMINENT
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov dword [ebp - 0x6c], str.DEPAUDIT
jmp 0x43ec02
mov ecx, edx
xor ecx, 0xc
mov dword [ebp - 0x6c], str.INIT
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f376
cmp edx, 0xc
jbe 0x43f382
mov dword [ebp - 0x6c], str.FINI
jmp 0x43efcc
mov dword [ebp - 0x6c], str.SYMENT
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x13
mov dword [ebp - 0x6c], str.RELENT
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f3ac
cmp edx, 0x13
jbe 0x43f3b8
mov dword [ebp - 0x6c], str.PLTREL
jmp 0x43efcc
mov dword [ebp - 0x6c], str.RELSZ
jmp 0x43efcc
mov ecx, edx
xor ecx, 0x6ffffdf9
mov dword [ebp - 0x6c], str.PLTPADSZ
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f404
cmp edx, 0x6ffffdf9
ja 0x43f404
mov ecx, edx
xor ecx, 0x6ffffdf8
mov dword [ebp - 0x6c], str.CHECKSUM
or eax, ecx
je 0x43efcc
jmp 0x43edf1
mov dword [ebp - 0x6c], str.MOVEENT
jmp 0x43efcc
mov ecx, edx
xor ecx, 5
mov dword [ebp - 0x6c], str.STRTAB
or ecx, eax
je 0x43efcc
cmp eax, 0
ja 0x43f42e
cmp edx, 5
jbe 0x43f43a
mov dword [ebp - 0x6c], str.SYMTAB
jmp 0x43efcc
mov dword [ebp - 0x6c], str.HASH
jmp 0x43efcc