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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov al, byte [edx + 0x14]
and eax, 0xffffffe0
cmp al, 0x60
je 0x451654
mov ecx, edx
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 0x38]
mov edx, dword [ecx + 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov esi, dword [ebp + 0x14]
mov dword [esp + 8], esi
mov eax, dword [ecx + 0x40]
mov dword [esp + 4], eax
mov edi, dword [ebp + 8]
mov dword [esp], edi
call fcn.0040324c
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x18c]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [eax + 0xdc]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x452000
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x94]
mov eax, dword [eax + 0xcc]
mov dword [ebp - 0x34], eax
mov esi, dword [ebx + 0x20]
lea edi, [esi + 0x78]
mov dword [ebp - 0x48], edi
mov edi, dword [esi + 0x114]
test edi, edi
jne 0x45171e
mov ebx, dword [ebx + 0x30]
test ebx, ebx
jne 0x4516b6
jmp 0x451714
mov ebx, dword [ebx + 0xa8]
test ebx, ebx
je 0x451714
mov eax, dword [ebx + 8]
cmp dword [eax + 4], 5
jne 0x4516ac
test byte [ebx + 0x48], 0x40
jne 0x4516ac
mov dword [esp + 4], str..eh_frame
mov dword [esp], ebx
call fcn.00402d4c
test eax, eax
je 0x4516ac
mov dl, byte [eax + 0x14]
and edx, 0xffffffe0
cmp dl, 0x60
jne 0x4516ac
mov edx, dword [eax + 0x94]
mov ecx, dword [edx + 0xcc]
lea edx, [ecx + 8]
mov edi, dword [ecx]
lea edi, [edi + edi*4]
lea ecx, [ecx + edi*4 + 8]
cmp edx, ecx
jae 0x4516ac
mov eax, dword [eax + 0x38]
nop
add dword [edx + 8], eax
add dword [edx + 0xc], eax
add edx, 0x14
cmp edx, ecx
jb 0x451704
jmp 0x4516ac
mov dword [esi + 0x114], 1
mov ecx, dword [esi + 0x110]
test ecx, ecx
jne 0x451be0
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x452094
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*4 + 8]
lea esi, [edx + 8]
lea esi, [esi]
cmp ebx, esi
je 0x45178c
sub ebx, 0x14
test byte [ebx + 0x13], 2
jne 0x45174c
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
cmp eax, edx
jbe 0x45174c
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x38]
mov edi, dword [ebx + 4]
mov dword [esp + 8], edi
sub edx, ecx
add edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
sub eax, ecx
add eax, dword [ebp + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
cmp ebx, esi
jne 0x451750
nop
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax*4 + 8]
cmp ebx, eax
jae 0x451808
mov edi, ebx
mov ecx, esi
mov esi, ebx
mov ebx, edx
jmp 0x4517ba
add edi, 0x14
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4 + 8]
cmp edi, eax
jae 0x451804
test byte [edi + 0x13], 2
jne 0x4517ac
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 8]
cmp eax, edx
jae 0x4517ac
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x38]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 8], ecx
sub edx, dword [ebp - 0x5c]
add edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
sub eax, dword [ebp - 0x5c]
add eax, dword [ebp + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov ecx, dword [ebx]
add edi, 0x14
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4 + 8]
cmp edi, eax
jb 0x4517ba
nop
mov ebx, esi
mov esi, ecx
lea eax, [esi + esi*4]
mov edi, dword [ebp - 0x34]
lea eax, [edi + eax*4 + 8]
cmp ebx, eax
jae 0x451a75
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp - 0x44], eax
nop
mov cl, byte [ebx + 0x13]
mov dl, cl
and edx, 2
mov byte [ebp - 0x28], dl
jne 0x451a60
mov edi, dword [ebx + 4]
cmp edi, 4
je 0x451cd8
mov eax, dword [ebp + 0x14]
add eax, dword [ebx + 0xc]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x38]
sub eax, edx
mov dword [ebp - 0x20], eax
add eax, edi
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x38]
mov eax, ebx
mov byte [ebp - 0x60], cl
call fcn.0044fcb8
mov edx, eax
cmp edi, eax
mov cl, byte [ebp - 0x60]
je 0x45189a
mov ecx, eax
sub ecx, edi
mov edi, dword [ebp - 0x30]
mov al, byte [ebp - 0x28]
rep stosb byte es:[edi], al
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov esi, dword [ebp - 0x20]
mov dword [esp + 8], esi
sub edx, 4
mov dword [esp], edx
mov dword [esp + 4], 0
call dword [eax + 0x30]
mov cl, byte [ebx + 0x13]
test cl, 1
je 0x451d18
test cl, 0xd0
je 0x451d0c
xor eax, eax
test cl, 0x10
setne al
mov dl, cl
and edx, 0x40
cmp dl, 1
sbb edx, edx
not edx
and edx, 2
or edx, eax
mov al, cl
and eax, 0xffffff80
cmp al, 1
sbb eax, eax
not eax
and eax, 4
or edx, eax
mov dword [ebp - 0x28], edx
xor eax, eax
test cl, 4
setne al
and ecx, 8
je 0x451f20
inc eax
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x20]
add edx, 9
mov esi, edx
xor eax, eax
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea edi, [edx + ecx]
cmp dword [ebp - 0x30], edi
ja 0x451c14
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 9], 0x7a
je 0x451c59
nop
mov ecx, dword [ebp - 0x40]
lea edx, [ecx + ecx]
mov eax, dword [ebp - 0x30]
sub eax, edi
mov dword [esp + 8], eax
mov dword [esp + 4], edi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [ebp - 0x60], edx
call sub.msvcrt.dll_memmove
mov eax, edi
sub eax, esi
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x40]
lea eax, [esi + eax]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
add edi, dword [ebp - 0x40]
mov al, byte [ebx + 0x13]
test al, 4
mov edx, dword [ebp - 0x60]
je 0x451972
mov byte [esi], 0x7a
inc esi
mov al, byte [ebp - 0x40]
dec eax
mov byte [edi], al
inc edi
mov al, byte [ebx + 0x13]
test al, 8
je 0x45198c
test byte [ebp - 0x28], 1
je 0x45203c
mov byte [esi], 0x52
inc esi
mov byte [edi], 0x10
inc edi
and dword [ebp - 0x28], 0xfffffffe
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x451d0c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0
mov edx, edi
mov edi, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
jmp 0x4519e1
cmp al, 0x52
je 0x451ca0
cmp al, 0x4c
je 0x451c68
mov dword [esp + 4], 0x49e
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
mov dword [ebp - 0x60], edx
call fcn.00404f00
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x451a59
mov al, byte [esi]
inc esi
cmp al, 0x50
jne 0x4519b0
movzx ebx, byte [edx]
inc edx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x38]
mov eax, ebx
call fcn.0044fb10
mov dword [ebp - 0x30], eax
test eax, eax
je 0x451ee4
mov eax, ebx
and eax, 0x70
xor edx, edx
cmp eax, 0x10
sete dl
mov al, byte [edi + 0x13]
shr al, 7
movzx eax, al
cmp edx, eax
je 0x451a32
mov dword [esp + 4], 0x482
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f00
mov eax, ebx
and eax, 0xf0
cmp eax, 0x50
je 0x451f00
test byte [ebp - 0x58], 4
jne 0x451e80
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x4519e1
mov ebx, edi
mov edx, dword [ebp - 0x34]
mov esi, dword [edx]
add ebx, 0x14
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax*4 + 8]
cmp ebx, eax
jb 0x451824
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x44]
mov edi, 1
shl edi, cl
mov ecx, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x2c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [ebp - 0x60], ecx
call fcn.0045e3e4
mov dword [ebp - 0x40], eax
test eax, eax
mov ecx, dword [ebp - 0x60]
je 0x45201c
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, ecx
adc edx, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
add dword [ebp - 0x30], eax
adc dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x44]
cmp eax, dword [edx + 0x2c]
ja 0x451ba5
jb 0x451b0f
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 0x28]
ja 0x451ba5
lea edx, [esi + esi*4]
mov ebx, dword [ebp - 0x34]
lea ecx, [ebx + edx*4 + 8]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x4c]
nop
sub ecx, 0x14
cmp ecx, edx
je 0x452164
test byte [ecx + 0x13], 2
jne 0x451b20
mov dword [ebp - 0x40], eax
cmp dword [ecx + 4], 3
jbe 0x452171
mov ebx, edi
sub ebx, dword [ebp - 0x40]
mov esi, dword [ebp + 0x14]
add esi, dword [ecx + 0xc]
sub esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov eax, ecx
call fcn.0044fcb8
mov edx, eax
lea edi, [esi + eax]
mov dword [ebp - 0x34], edi
xor eax, eax
mov ecx, ebx
rep stosb byte es:[edi], al
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [esp + 8], esi
lea edx, [ebx + edx - 4]
mov dword [esp], edx
mov dword [esp + 4], 0
call dword [eax + 0x30]
mov ecx, ebx
xor ebx, ebx
mov esi, dword [ebp + 0x10]
add ecx, dword [esi + 0x28]
adc ebx, dword [esi + 0x2c]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov esi, dword [esi + 0x40]
mov dword [ebp - 0x44], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x44]
mov dword [esp + 4], ecx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.0040324c
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
mov edx, dword [esi + 0x10c]
test edx, edx
jne 0x45173a
mov eax, dword [esi + 0x104]
shl eax, 4
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004067b4
mov dword [esi + 0x10c], eax
jmp 0x451732
mov al, byte [edi]
inc edi
test al, al
js 0x451905
nop
cmp dword [ebp - 0x30], edi
jbe 0x45190e
mov al, byte [edi]
inc edi
test al, al
js 0x451c20
cmp dword [ebp - 0x30], edi
jbe 0x45190e
lea esi, [esi]
mov al, byte [edi]
inc edi
test al, al
jns 0x45190e
cmp dword [ebp - 0x30], edi
ja 0x451c3c
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 9], 0x7a
jne 0x45191c
mov al, byte [ebp - 0x40]
add byte [edi], al
inc edi
lea esi, [edx + 1]
jmp 0x45191c
test byte [ebp - 0x58], 2
je 0x451c9a
mov al, byte [edx]
cmp al, byte [edi + 0x11]
je 0x451c91
mov dword [esp + 4], 0x477
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
mov dword [ebp - 0x60], edx
call fcn.00404f00
mov edx, dword [ebp - 0x60]
mov al, byte [edx]
or eax, 0x10
mov byte [edx], al
and dword [ebp - 0x58], 0xfffffffd
inc edx
jmp 0x4519da
test byte [ebp - 0x58], 1
je 0x451c9a
mov al, byte [edx]
cmp al, byte [edi + 0x10]
je 0x451cc9
mov dword [esp + 4], 0x497
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
mov dword [ebp - 0x60], edx
call fcn.00404f00
mov edx, dword [ebp - 0x60]
mov al, byte [edx]
or eax, 0x10
mov byte [edx], al
and dword [ebp - 0x58], 0xfffffffe
inc edx
jmp 0x4519da
lea eax, [esi + esi*4 - 5]
mov ecx, dword [ebp - 0x34]
lea eax, [ecx + eax*4 + 8]
cmp ebx, eax
je 0x451a60
mov dword [esp + 4], 0x42d
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f00
mov edi, dword [ebp - 0x34]
mov esi, dword [edi]
jmp 0x451a60
mov edi, dword [ebp - 0x34]
mov esi, dword [edi]
jmp 0x451a60
mov eax, dword [ebp - 0x20]
add eax, 4
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
add eax, 4
mov edx, dword [ebx]
sub eax, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [ecx + 0x30]
mov edi, dword [ebp - 0x20]
add edi, 8
mov dword [ebp - 0x20], edi
movzx esi, byte [ebx + 0x10]
mov edx, dword [ebp - 0x38]
mov eax, esi
call fcn.0044fb10
mov dword [ebp - 0x28], eax
xor eax, eax
test esi, 8
setne al
mov dword [esp], eax
mov ecx, dword [ebp - 0x28]
mov edx, edi
mov eax, dword [ebp - 0x44]
call fcn.0044fba8
mov esi, eax
mov edi, edx
mov eax, edx
or eax, esi
test eax, eax
je 0x451fec
movzx eax, byte [ebx + 0x10]
and eax, 0xf0
cmp eax, 0x20
je 0x45206a
jg 0x45205c
cmp eax, 0x10
je 0x4520fe
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
mov eax, dword [ebx]
test byte [eax + 0x13], 0x10
je 0x451de2
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x40]
mov eax, 0xfffffff8
mov edx, 0xffffffff
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebx + 0xc]
xor ecx, ecx
sub dword [ebp - 0x70], edx
sbb dword [ebp - 0x6c], ecx
add esi, dword [ebp - 0x70]
adc edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 8], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
call fcn.0044fc4c
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x451e4b
mov esi, dword [ebp - 0x48]
mov esi, dword [esi + 0x90]
mov dword [ebp - 0x74], esi
mov eax, esi
shl eax, 4
mov edi, dword [ebp - 0x48]
add eax, dword [edi + 0x94]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
mov esi, dword [edi + 0x40]
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov edi, dword [ebp - 0x74]
inc edi
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x90], edi
movzx esi, byte [ebx + 0x11]
mov eax, esi
and eax, 0xf0
cmp eax, 0x10
je 0x451f28
mov eax, dword [ebx]
mov al, byte [eax + 0x13]
test al, 0x40
jne 0x451f28
test al, 4
jne 0x4520d0
mov edx, dword [ebp - 0x34]
mov esi, dword [edx]
jmp 0x451a60
xor eax, eax
test bl, 8
setne al
mov dword [esp], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
call fcn.0044fba8
mov ecx, dword [edi + 8]
sub ecx, dword [edi + 0xc]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
sub dword [ebp - 0x20], ecx
sbb dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x30]
mov dword [esp + 8], ebx
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
call fcn.0044fc4c
and dword [ebp - 0x58], 0xfffffffb
jmp 0x451a4c
mov dword [esp + 4], 0x480
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f00
jmp 0x451a04
mov edx, dword [ebp - 0x30]
neg edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x30]
lea eax, [ecx + eax - 1]
and edx, eax
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x28], edx
jmp 0x451a42
mov dword [ebp - 0x40], eax
jmp 0x4518ed
movzx eax, byte [ebx + 0x12]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x38]
mov eax, esi
call fcn.0044fb10
mov dword [ebp - 0x40], eax
xor eax, eax
test esi, 8
setne al
mov dword [esp], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
call fcn.0044fba8
mov ecx, edx
or ecx, eax
test ecx, ecx
je 0x451e74
movzx ecx, byte [ebx + 0x11]
and ecx, 0xf0
cmp ecx, 0x10
je 0x452190
mov ecx, dword [ebx]
test byte [ecx + 0x13], 0x40
je 0x451fc9
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x40]
mov esi, 0xfffffff8
mov edi, 0xffffffff
sub esi, dword [ecx + 0x18]
sbb edi, dword [ecx + 0x1c]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
mov esi, dword [ebx + 0xc]
xor edi, edi
sub dword [ebp - 0x30], esi
sbb dword [ebp - 0x2c], edi
movzx ecx, byte [ebx + 0x12]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
sub dword [ebp - 0x30], esi
sbb dword [ebp - 0x2c], edi
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x40]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
call fcn.0044fc4c
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
jmp 0x451a60
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
jmp 0x451dfb
mov dword [esp + 4], 0x3e7
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f00
jmp 0x45167b
mov edi, dword [ebp + 0x10]
mov esi, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x44], eax
jmp 0x451ba5
mov dword [esp + 4], 0x46b
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
mov dword [ebp - 0x60], edx
call fcn.00404f00
mov edx, dword [ebp - 0x60]
jmp 0x451980
cmp eax, 0x30
je 0x4520a0
add eax, 0xffffff80
jne 0x451da7
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x451da7
mov dword [esp + 4], 0x4b7
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f00
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
jmp 0x451dad
mov dword [ebp - 0x48], 0
jmp 0x45173a
mov dword [esp + 4], str..got
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00402d4c
test eax, eax
je 0x452144
mov edx, esi
mov ecx, edi
add edx, dword [eax + 0x18]
adc ecx, dword [eax + 0x1c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
jmp 0x451dad
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
lea esi, [edi + ecx*2]
mov eax, dword [ebp - 0x30]
sub eax, esi
mov dword [esp + 8], eax
mov dword [esp + 4], esi
lea eax, [esi + 1]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov byte [esi], 0
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
jmp 0x451a60
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x40]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
add dword [ebp - 0x40], 8
adc dword [ebp - 0x3c], 0
mov eax, dword [ebx + 8]
xor edx, edx
add dword [ebp - 0x40], eax
adc dword [ebp - 0x3c], edx
add dword [ebp - 0x40], esi
adc dword [ebp - 0x3c], edi
add esi, dword [ebp - 0x58]
adc edi, dword [ebp - 0x54]
jmp 0x451dad
mov dword [esp + 4], 0x4bd
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
mov dword [ebp - 0x60], eax
call fcn.00404f00
mov eax, dword [ebp - 0x60]
jmp 0x4520bb
mov dword [ebp - 0x40], eax
test byte [ecx + 0x13], 2
je 0x451b34
mov dword [esp + 8], str._bfd_elf_write_section_eh_frame
mov dword [esp + 4], 0x503
mov dword [esp], str..._.._.._binutils_2.16.1_bfd_elf_eh_frame.c
call fcn.00404f2c
lea esi, [esi]
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx + 0xc]
xor edi, edi
add eax, ecx
adc edx, edi
jmp 0x451fc9