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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x14], 0
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [edx + 0xa0]
mov ebx, dword [eax + 0x54]
test ebx, ebx
je 0x4585bb
push esi
push esi
push str._nProgram_Header:_n
push edi
call fcn.00451d70
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
add esp, 0x10
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x4585bb
lea esi, [ebx + 0x38]
mov dword [ebp - 0x60], 0
jmp 0x458486
push eax
push eax
push 0x4ccbc0
push edi
call fcn.00451d70
mov ebx, dword [ebp - 0x60]
inc ebx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], ebx
add esi, 0x38
add esp, 0x10
cmp dword [ebp - 0x60], eax
je 0x4585bb
mov ebx, dword [esi - 0x38]
mov eax, ebx
call fcn.0044a3d0
test eax, eax
je 0x45861e
push edx
push eax
push str._8s_off____0x
push edi
call fcn.00451d70
mov ebx, dword [esi - 0x2c]
push ebx
mov ecx, dword [esi - 0x30]
push ecx
push edi
mov edx, dword [ebp + 8]
push edx
call fcn.00404c60
add esp, 0x18
push str._vaddr_0x
push edi
call fcn.00451d70
mov eax, dword [esi - 0x24]
push eax
mov eax, dword [esi - 0x28]
push eax
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.00404c60
add esp, 0x18
push str._paddr_0x
push edi
call fcn.00451d70
mov eax, dword [esi - 0x1c]
push eax
mov eax, dword [esi - 0x20]
push eax
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.00404c60
add esp, 0x18
mov ebx, dword [esi - 4]
push ebx
mov ecx, dword [esi - 8]
push ecx
call fcn.0040b870
add esp, 0xc
push eax
push str._align_2_u_n
push edi
call fcn.00451d70
pop eax
pop edx
push str._________filesz_0x
push edi
call fcn.00451d70
mov eax, dword [esi - 0x14]
push eax
mov eax, dword [esi - 0x18]
push eax
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.00404c60
add esp, 0x18
push str._memsz_0x
push edi
call fcn.00451d70
mov eax, dword [esi - 0xc]
push eax
mov ebx, dword [esi - 0x10]
push ebx
push edi
mov ecx, dword [ebp + 8]
push ecx
call fcn.00404c60
mov ecx, dword [esi - 0x34]
add esp, 0x14
mov eax, ecx
and eax, 1
cmp eax, 1
mov eax, ecx
sbb ebx, ebx
and eax, 2
and ebx, 0xffffffb5
add ebx, 0x78
cmp eax, 1
sbb edx, edx
and ecx, 4
and edx, 0xffffffb6
push ebx
add edx, 0x77
cmp ecx, 1
sbb eax, eax
push edx
and eax, 0xffffffbb
add eax, 0x72
push eax
push str._flags__c_c_c
push edi
call fcn.00451d70
mov eax, dword [esi - 0x34]
add esp, 0x20
and eax, 0xfffffff8
je 0x458460
push edx
push eax
push str.__lx
push edi
call fcn.00451d70
add esp, 0x10
jmp 0x458460
push ecx
push ecx
push 0x4cc583
mov edx, dword [ebp + 8]
push edx
call fcn.00403940
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x45864e
push eax
push eax
push str._nDynamic_Section:_n
push edi
call fcn.00451d70
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.00403270
add esp, 0x10
test eax, eax
jne 0x458745
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x458916
sub esp, 0xc
push eax
call fcn.004a3a08
xor eax, eax
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push ecx
push ebx
lea ebx, [ebp - 0x3c]
push str.0x_lx
push ebx
call fcn.0044c2b0
mov eax, ebx
add esp, 0x10
jmp 0x458498
sub esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a3a08
mov dword [ebp - 0x14], 0
add esp, 0x10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
mov edx, dword [eax + 0x9f8]
test edx, edx
je 0x45866f
mov esi, dword [eax + 0x318]
test esi, esi
je 0x458920
mov ebx, dword [eax + 0x9fc]
test ebx, ebx
je 0x458687
mov ecx, dword [eax + 0x31c]
test ecx, ecx
je 0x458920
test edx, edx
jne 0x458b61
mov esi, dword [eax + 0x9fc]
test esi, esi
jne 0x4586a6
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
push ebx
push ebx
push str._nVersion_References:_n
push edi
call fcn.00451d70
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xa0]
add esp, 0x10
mov esi, dword [eax + 0x31c]
test esi, esi
je 0x458699
mov eax, dword [esi + 0x14]
test eax, eax
je 0x45873e
push ecx
push eax
push str.__required_from__s:_n
push edi
call fcn.00451d70
mov ebx, dword [esi + 0x18]
add esp, 0x10
test ebx, ebx
jne 0x45871e
jmp 0x45872c
push edx
push edx
push eax
mov ax, word [ebx + 6]
and eax, 0xffff
push eax
mov eax, dword [ebx + 4]
and eax, 0xffff
push eax
mov eax, dword [ebx]
push eax
push str.____0x_8.8lx_0x_2.2x__2.2d__s_n
push edi
call fcn.00451d70
mov ebx, dword [ebx + 0x14]
add esp, 0x20
test ebx, ebx
je 0x45872c
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x4586f0
mov eax, str._corrupt_
jmp 0x4586f0
mov esi, dword [esi + 0x1c]
test esi, esi
je 0x458699
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x4586d0
mov eax, str._corrupt_
jmp 0x4586d0
push eax
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.0044b5c0
add esp, 0x10
mov edx, eax
cmp eax, 0xfffffeff
je 0x4585fd
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebx + 0x30]
mov eax, dword [ecx + 0xa0]
add ebx, esi
mov eax, dword [eax + 0x50]
mov eax, dword [eax + edx*4]
mov edx, dword [ecx + 4]
xor ecx, ecx
cmp esi, ebx
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [edx + 0x1ac]
mov eax, dword [eax + 0x178]
mov cl, byte [eax + 6]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], ebx
jae 0x458638
add ecx, esi
mov dword [ebp - 0x48], ecx
jmp 0x45881d
push eax
push ebx
push str.____20s
push edi
call fcn.00451d70
add esp, 0xc
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0x58]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00457910
add esp, 0x10
test eax, eax
je 0x4585fd
push edx
push eax
push 0x4ccac0
push edi
call fcn.00451d70
add esp, 0x10
push eax
push eax
push 0x4ccbc0
push edi
call fcn.00451d70
mov eax, dword [ebp - 0x50]
add esi, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
add esp, 0x10
add eax, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, edx
cmp dword [ebp - 0x54], eax
jbe 0x458638
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov edx, dword [edx + 0x1ac]
mov dword [ebp - 0x44], edx
push eax
lea eax, [ebp - 0x28]
push eax
push esi
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov ebx, ecx
add esp, 0x10
or ebx, edx
je 0x458638
mov eax, edx
mov ebx, str.RUNPATH
xor eax, 0x1d
or eax, ecx
je 0x4587ad
cmp ecx, 0
ja 0x4589b5
cmp edx, 0x1d
ja 0x4589b5
mov eax, edx
mov ebx, str.SONAME
xor eax, 0xe
or eax, ecx
je 0x4587ad
cmp ecx, 0
ja 0x45888a
cmp edx, 0xe
jbe 0x458948
mov eax, edx
mov ebx, 0x4ccc61
xor eax, 0x15
or eax, ecx
je 0x4588e2
cmp ecx, 0
jbe 0x458c3d
mov eax, edx
mov ebx, str.INIT_ARRAY
xor eax, 0x19
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458d9c
cmp edx, 0x19
ja 0x458d9c
mov eax, edx
mov ebx, str.JMPREL
xor eax, 0x17
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x4588dd
cmp edx, 0x17
jbe 0x458d04
mov ebx, str.BIND_NOW
push ecx
push ebx
push str.____20s
push edi
call fcn.00451d70
pop eax
pop edx
push 0x4ccdaa
push edi
call fcn.00451d70
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x20]
push ebx
push edi
mov ecx, dword [ebp + 8]
push ecx
call fcn.00404c60
add esp, 0x20
jmp 0x4587e9
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
push esi
push esi
push 0
mov ebx, dword [ebp + 8]
push ebx
call fcn.00457aa0
add esp, 0x10
test eax, eax
je 0x458916
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xa0]
mov edx, dword [eax + 0x9f8]
jmp 0x458687
mov eax, edx
mov ebx, str.RELA
xor eax, 7
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458d0e
cmp edx, 7
ja 0x458d0e
mov eax, edx
mov ebx, str.PLTGOT
xor eax, 3
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458efe
cmp edx, 3
ja 0x458efe
mov eax, edx
mov ebx, str.NEEDED
xor eax, 1
or eax, ecx
je 0x4587ad
mov eax, edx
mov ebx, str.PLTRELSZ
xor eax, 2
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov eax, edx
mov ebx, str.AUDIT
xor eax, 0x6ffffefc
or eax, ecx
je 0x4587ad
cmp ecx, 0
ja 0x458a4b
cmp edx, 0x6ffffefc
ja 0x458a4b
mov eax, edx
mov ebx, str.MOVESZ
xor eax, 0x6ffffdfb
or eax, ecx
je 0x4588e2
cmp ecx, 0
jbe 0x458c93
mov eax, edx
mov ebx, str.SYMINENT
xor eax, 0x6ffffdff
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458e10
cmp edx, 0x6ffffdff
ja 0x458e10
mov eax, edx
mov ebx, str.POSFLAG_1
xor eax, 0x6ffffdfd
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458a41
cmp edx, 0x6ffffdfd
jbe 0x458cf0
mov ebx, str.SYMINSZ
jmp 0x4588e2
mov eax, edx
mov ebx, str.FLAGS_1
xor eax, 0x6ffffffb
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458b09
cmp edx, 0x6ffffffb
ja 0x458b09
mov eax, edx
mov ebx, str.SYMINFO
xor eax, 0x6ffffeff
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458dcc
cmp edx, 0x6ffffeff
ja 0x458dcc
mov eax, edx
mov ebx, str.PLTPAD
xor eax, 0x6ffffefd
or eax, ecx
je 0x4588e2
mov eax, edx
mov ebx, str.MOVETAB
xor eax, 0x6ffffefe
or eax, ecx
je 0x4588e2
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebx + 0xf4]
mov ebx, 0x4cc8df
test eax, eax
je 0x458ae2
push ebx
push ebx
push ecx
push edx
call eax
add esp, 0x10
mov ebx, eax
cmp byte [ebx], 0
jne 0x4588e2
push eax
lea eax, [ebp - 0x3c]
mov ebx, dword [ebp - 0x28]
push ebx
push str.0x_lx
push eax
call fcn.0044c2b0
lea ebx, [ebp - 0x3c]
add esp, 0x10
jmp 0x4588e2
mov eax, edx
mov ebx, str.VERNEEDNUM
xor eax, 0x6fffffff
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458d5b
cmp edx, 0x6fffffff
ja 0x458d5b
mov eax, edx
mov ebx, str.VERDEFNUM
xor eax, 0x6ffffffd
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458b57
cmp edx, 0x6ffffffd
jbe 0x458cfa
mov ebx, str.VERNEED
jmp 0x4588e2
push ecx
push ecx
push str._nVersion_definitions:_n
push edi
call fcn.00451d70
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
add esp, 0x10
mov esi, dword [eax + 0x318]
test esi, esi
je 0x45868f
mov eax, dword [esi + 0x18]
test eax, eax
je 0x458c33
push edx
push edx
push eax
mov eax, dword [esi + 8]
push eax
mov ax, word [esi + 2]
and eax, 0xffff
push eax
mov eax, dword [esi + 4]
and eax, 0xffff
push eax
push str._d_0x_2.2x_0x_8.8lx__s_n
push edi
call fcn.00451d70
mov eax, dword [esi + 0x20]
add esp, 0x20
test eax, eax
je 0x458c1a
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x458c1a
push ecx
push ecx
push 0x4ccde6
push edi
call fcn.00451d70
mov eax, dword [esi + 0x20]
mov ebx, dword [eax + 0xc]
add esp, 0x10
test ebx, ebx
jne 0x458bfc
jmp 0x458c0a
push edx
push eax
push 0x4ccde8
push edi
call fcn.00451d70
mov ebx, dword [ebx + 0xc]
add esp, 0x10
test ebx, ebx
je 0x458c0a
mov eax, dword [ebx + 8]
test eax, eax
jne 0x458be5
mov eax, str._corrupt_
jmp 0x458be5
push eax
push eax
push 0x4ccbc0
push edi
call fcn.00451d70
add esp, 0x10
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x458b88
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
jmp 0x45868f
mov eax, str._corrupt_
jmp 0x458b93
cmp edx, 0x15
ja 0x4588a1
mov eax, edx
mov ebx, 0x4ccc49
xor eax, 0x11
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458e9e
cmp edx, 0x11
ja 0x458e9e
mov eax, edx
mov ebx, str.RPATH
xor eax, 0xf
or eax, ecx
je 0x4587ad
mov eax, edx
mov ebx, str.SYMBOLIC
xor eax, 0x10
or eax, ecx
je 0x4588e2
jmp 0x458ac5
cmp edx, 0x6ffffdfb
ja 0x4589f3
mov eax, edx
mov ebx, str.PREINIT_ARRAYSZ
xor eax, 0x21
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458e5a
cmp edx, 0x21
ja 0x458e5a
mov eax, edx
mov ebx, str.FLAGS
xor eax, 0x1e
or eax, ecx
je 0x4588e2
mov eax, edx
mov ebx, str.PREINIT_ARRAY
xor eax, 0x20
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov ebx, str.FEATURE
jmp 0x4588e2
mov ebx, str.VERDEF
jmp 0x4588e2
mov ebx, str.TEXTREL
jmp 0x4588e2
mov eax, edx
mov ebx, str.STRSZ
xor eax, 0xa
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458ece
cmp edx, 0xa
ja 0x458ece
mov eax, edx
mov ebx, str.RELASZ
xor eax, 8
or eax, ecx
je 0x4588e2
mov eax, edx
mov ebx, str.RELAENT
xor eax, 9
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov eax, edx
mov ebx, str.USED
xor eax, 0x7ffffffe
or eax, ecx
je 0x4588e2
mov eax, edx
mov ebx, str.FILTER
xor eax, 0x7fffffff
or eax, ecx
je 0x4587ad
mov eax, edx
mov ebx, str.AUXILIARY
xor eax, 0x7ffffffd
or eax, ecx
je 0x4587ad
jmp 0x458ac5
mov eax, edx
mov ebx, str.INIT_ARRAYSZ
xor eax, 0x1b
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458db8
cmp edx, 0x1b
jbe 0x458dc2
mov ebx, str.FINI_ARRAYSZ
jmp 0x4588e2
mov ebx, str.FINI_ARRAY
jmp 0x4588e2
mov eax, edx
mov ebx, str.RELACOUNT
xor eax, 0x6ffffff9
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458e06
cmp edx, 0x6ffffff9
ja 0x458e06
mov eax, edx
mov ebx, str.VERSYM
xor eax, 0x6ffffff0
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov ebx, str.RELCOUNT
jmp 0x4588e2
mov eax, edx
mov ebx, str.CONFIG
xor eax, 0x6ffffefa
or eax, ecx
je 0x4587ad
cmp ecx, 0
ja 0x458e50
cmp edx, 0x6ffffefa
ja 0x458e50
mov eax, edx
mov ebx, str.GNU_HASH
xor eax, 0x6ffffef5
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov ebx, str.DEPAUDIT
jmp 0x4587ad
mov eax, edx
mov ebx, str.PLTPADSZ
xor eax, 0x6ffffdf9
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458e94
cmp edx, 0x6ffffdf9
ja 0x458e94
mov eax, edx
mov ebx, str.CHECKSUM
xor eax, 0x6ffffdf8
or eax, ecx
je 0x4588e2
jmp 0x458ac5
mov ebx, str.MOVEENT
jmp 0x4588e2
mov eax, edx
mov ebx, str.RELENT
xor eax, 0x13
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458eba
cmp edx, 0x13
jbe 0x458ec4
mov ebx, str.PLTREL
jmp 0x4588e2
mov ebx, str.RELSZ
jmp 0x4588e2
mov eax, edx
mov ebx, str.INIT
xor eax, 0xc
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458eea
cmp edx, 0xc
jbe 0x458ef4
mov ebx, str.FINI
jmp 0x4588e2
mov ebx, str.SYMENT
jmp 0x4588e2
mov eax, edx
mov ebx, str.STRTAB
xor eax, 5
or eax, ecx
je 0x4588e2
cmp ecx, 0
ja 0x458f1a
cmp edx, 5
jbe 0x458f24
mov ebx, str.SYMTAB
jmp 0x4588e2
mov ebx, str.HASH
jmp 0x4588e2