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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x16c
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x150], eax
cmp dword [eax + 0x2c], 3
je 0x452668
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 0x168]
test eax, eax
jne 0x45284f
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x124], 0
mov edx, dword [ebp + 0xc]
sub esp, 0xc
mov eax, dword [edx + 4]
mov esi, dword [eax + 0x150]
mov eax, dword [ebp + 8]
push eax
call fcn.004264e0
mov ebx, eax
pop eax
mov eax, dword [ebp + 8]
push eax
call fcn.004264c0
add esp, 0xc
push ebx
push eax
mov eax, dword [ebp + 0xc]
push eax
call esi
mov ecx, dword [ebp - 0x150]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov edi, dword [ecx + 0x168]
add esp, 0x10
mov dword [ecx + 0x4ec], esi
mov dword [ecx + 0x4f0], eax
mov dword [ecx + 0x4f4], edx
mov dword [ebp - 0x128], 1
test edi, edi
jne 0x4526fd
mov ecx, dword [ebp + 0x14]
shr ecx, 0x1f
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x14]
sar eax, 0x1f
xor esi, eax
sub esi, eax
mov dword [ebp - 0x12c], esi
dec esi
je 0x4537a7
mov eax, dword [ebp - 0x150]
mov edx, dword [ebp - 0x150]
mov eax, dword [eax + 0x508]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x164]
mov eax, dword [edx + 0x504]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x16c], eax
mov esi, dword [ebp - 0xbc]
mov ecx, dword [esi]
cmp ecx, 0x4a54f0
je 0x45288f
test ecx, ecx
je 0x45288f
xor ebx, ebx
jmp 0x452774
mov ebx, ecx
mov ecx, edx
mov edx, dword [ebp - 0x150]
mov edi, dword [ecx + 4]
mov esi, dword [edx + 0x4f8]
lea eax, [edi*8]
add eax, esi
mov edx, dword [eax]
mov dword [eax], ebx
test edx, edx
jne 0x452770
mov eax, dword [ebp - 0x150]
mov esi, dword [ecx + 0x38]
mov eax, dword [eax + 0x4f8]
mov dword [ebp - 0x15c], eax
lea esi, [esi]
mov ebx, ecx
jmp 0x4527b6
mov ebx, edx
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x15c]
mov edx, dword [eax + edx*8]
test edx, edx
je 0x4527db
mov eax, dword [edx + 0x38]
add eax, dword [edx + 0x24]
sub eax, esi
cmp dword [ebp - 0x12c], eax
ja 0x4527b4
jmp 0x4527db
mov edi, dword [ecx + 4]
mov edx, ecx
mov ecx, dword [ebp - 0x150]
lea eax, [edi*8]
mov esi, dword [ecx + 0x4f8]
add eax, esi
cmp edx, ebx
mov ecx, dword [eax]
mov dword [eax], ebx
je 0x4527fe
test ecx, ecx
jne 0x4527d8
mov eax, dword [ebp - 0x128]
test eax, eax
jne 0x452880
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x24]
test ecx, ecx
je 0x45288f
lea edx, [eax + edx]
jmp 0x452833
mov esi, dword [ebp - 0x150]
mov eax, dword [ecx + 4]
shl eax, 3
mov ecx, dword [esi + 0x4f8]
add eax, ecx
mov ecx, dword [eax]
mov dword [eax], ebx
test ecx, ecx
je 0x45288f
mov esi, dword [ecx + 0x38]
mov edi, dword [ecx + 0x24]
mov eax, esi
add eax, edi
sub eax, edx
cmp dword [ebp - 0x12c], eax
ja 0x452817
mov edi, dword [ecx + 4]
jmp 0x4527b0
sub esp, 0xc
push 0x140
call fcn.00431920
mov dword [esp], 0x118
mov dword [ebp - 0x124], eax
call fcn.00431920
add esp, 0x10
mov dword [ebp - 0x118], eax
jmp 0x45268a
test ecx, ecx
je 0x45288f
mov esi, dword [ecx + 0x38]
mov edi, dword [ecx + 4]
jmp 0x4527b0
mov eax, dword [ebp - 0x16c]
cmp dword [ebp - 0xbc], eax
je 0x4528b1
mov eax, dword [ebp - 0xbc]
add eax, 4
mov dword [ebp - 0xbc], eax
jmp 0x45274a
sub esp, 0xc
mov eax, dword [ebp - 0x164]
push eax
call sub.msvcrt.dll_free
mov edx, dword [ebp - 0x150]
add esp, 0x10
mov eax, dword [edx + 0x168]
test eax, eax
jne 0x4536f2
mov dword [ebp - 0x110], 0xa
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x11c], 0xa
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x108], ecx
test ecx, ecx
je 0x452a37
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x120], 0
jmp 0x45293a
mov ecx, dword [ebp - 0x108]
mov ecx, dword [ecx + 0x9c]
mov dword [ebp - 0x108], ecx
test ecx, ecx
je 0x452a4b
mov esi, dword [ebp - 0x108]
mov eax, dword [esi + 4]
cmp dword [eax + 4], 5
jne 0x452920
mov eax, dword [esi + 0xa0]
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x452920
cmp dword [eax + 0x920], 3
jne 0x452920
mov edx, dword [ebp - 0x14c]
add eax, 0x48
mov dword [ebp - 0xfc], eax
mov eax, dword [edx + 0x68]
test eax, eax
je 0x452920
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x453c7e
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x114], 0
add ecx, 0x4d0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x168], ecx
lea esi, [esi]
mov eax, dword [ebx + 0x14]
test al, 4
je 0x4529d8
mov edi, dword [ebx + 0x4c]
test edi, edi
je 0x4529d8
test al, 0x10
je 0x4529d8
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4529d8
mov esi, dword [ebp + 8]
cmp dword [eax + 0x94], esi
je 0x452b70
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4529b0
mov eax, dword [ebp - 0x150]
mov eax, dword [eax + 0x168]
test eax, eax
jne 0x453181
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x452920
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0xf8]
cmp dword [edx + 0x78], ecx
je 0x452920
mov esi, dword [ebp + 0x10]
test byte [esi + 3], 1
je 0x4536a2
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0xf8]
mov dword [eax + 0x78], edx
jmp 0x452920
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x120], 0
mov esi, dword [ebp - 0x74]
cmp dword [ebp - 0x120], esi
je 0x453566
mov edx, dword [ebp - 0x150]
mov eax, dword [edx + 0x4ec]
mov ebx, dword [eax + 0x64]
test ebx, ebx
je 0x452a91
push ecx
push ecx
push str..__stub
mov edx, dword [ebx]
push edx
call sub.msvcrt.dll_strstr
add esp, 0x10
test eax, eax
je 0x452a8a
mov dword [ebx + 0x24], 0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x452a6d
mov ecx, dword [ebp - 0x150]
push eax
add ecx, 0x4d0
mov eax, dword [ebp - 0x150]
push eax
push 0x443f60
push ecx
call fcn.00425ad0
mov edx, 1
mov eax, dword [ebp - 0x150]
call fcn.00443fc0
mov esi, 2
mov ebx, 1
add esp, 0x10
mov edx, esi
mov eax, dword [ebp - 0x150]
inc ebx
call fcn.00443fc0
inc esi
cmp ebx, 0x15
jne 0x452acd
mov esi, dword [ebp - 0x150]
mov eax, dword [esi + 0x168]
test eax, eax
je 0x453134
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x453134
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x10c], 0
jmp 0x452b4b
mov ebx, dword [eax + 0x24]
xor ecx, ecx
mov eax, dword [edi + 0x18]
xor edx, edx
call fcn.00443ef0
add edi, 0x20
add eax, ebx
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x120]
cmp dword [ebp - 0x10c], eax
je 0x453134
sub esp, 0xc
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x150]
push eax
xor eax, eax
call fcn.0044e310
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x452b15
jmp 0x45265e
mov edx, dword [ebp + 0x10]
sub esp, 0xc
mov esi, dword [ebp - 0x108]
mov al, byte [edx + 3]
and eax, 1
and eax, 0xff
push eax
push 0
push 0
push ebx
push esi
call fcn.00461bb0
add esp, 0x20
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x453521
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebp - 0xf4]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [ebp - 0xf0], eax
cmp ecx, eax
jae 0x4533ac
mov dword [ebp - 0xec], ecx
jmp 0x452c59
cmp dword [ebp - 0xe8], 0xa
je 0x452cad
cmp dword [ebp - 0xe8], 0x1d
je 0x452cad
cmp dword [ebp - 0xe8], 0x33
je 0x452cad
cmp dword [ebp - 0xe8], 0x10
je 0x452cad
cmp dword [ebp - 0xe8], 0x1e
je 0x452cad
cmp dword [ebp - 0xe8], 0x1b
je 0x452cc7
cmp dword [ebp - 0xe8], 0x5b
je 0x45314e
cmp dword [ebp - 0xe8], 0x5d
je 0x45314e
mov edx, dword [ebp - 0xec]
add edx, 0xc
mov dword [ebp - 0xec], edx
mov esi, dword [ebp - 0xec]
cmp dword [ebp - 0xf0], esi
jbe 0x4533ac
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x14c]
xor edi, edi
mov eax, dword [esi + 4]
mov esi, dword [ecx + 0x68]
movzx edx, al
shr eax, 8
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], eax
cmp eax, esi
jb 0x452ca0
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0xe4]
sub edx, esi
mov eax, dword [eax + 0x218]
mov edi, dword [eax + edx*4]
cmp dword [ebp - 0xe8], 0x1c
jne 0x452bd0
cmp dword [ebp - 0xe8], 0x5b
je 0x452e8c
cmp dword [ebp - 0xe8], 0x5d
je 0x452e8c
test edi, edi
jne 0x452cd3
jmp 0x452fbe
mov edi, dword [edi + 0x14]
mov dl, byte [edi + 0xc]
lea eax, [edx - 6]
cmp al, 1
jbe 0x452cd0
lea eax, [edx - 3]
cmp al, 1
jbe 0x4530b3
lea eax, [edx - 1]
cmp al, 1
ja 0x4537b6
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 3
jne 0x452c38
mov eax, dword [eax + 0xe0]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x452c38
mov eax, dword [edi + 0x28]
mov dword [ebp - 0xdc], eax
inc eax
je 0x452c38
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x453426
mov esi, dword [edx + 0x38]
mov ecx, dword [ebp - 0xdc]
add ecx, esi
mov esi, dword [eax + 0x1c]
add ecx, esi
mov dword [ebp - 0xd8], ecx
xor eax, eax
mov dl, byte [edi + 0x30]
mov al, byte [edi + 0x32]
and eax, 3
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xd4], eax
xor eax, eax
mov al, dl
mov edx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x108]
push ecx
mov ecx, dword [ebp - 0xe0]
push edx
mov dword [ebp - 0x5c], edx
push esi
mov edx, dword [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0x1c]
push edx
mov edx, ebx
push edi
push ecx
mov ecx, dword [ebp - 0xec]
push eax
mov eax, dword [ebp + 0x10]
call fcn.00445290
add esp, 0x20
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xd0], 0
test eax, eax
jne 0x452eeb
mov eax, dword [ebp - 0x150]
mov eax, dword [eax + 0x168]
test eax, eax
je 0x452c38
cmp dword [ebp - 0xe8], 0x1e
je 0x452df6
cmp dword [ebp - 0xe8], 0x33
je 0x452df6
cmp dword [ebp - 0xe8], 0xa
je 0x452df6
cmp dword [ebp - 0xe8], 0x10
jne 0x452c38
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebp - 0xec]
mov esi, dword [eax + 0x1c]
mov eax, dword [ebx + 0x38]
add esi, eax
mov eax, dword [edx]
add esi, eax
mov eax, esi
and eax, 0xfff
cmp eax, 0xffe
jne 0x452c38
mov ecx, dword [ebp - 0x110]
cmp dword [ebp - 0x114], ecx
je 0x4536b3
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x114]
shl eax, 2
mov ecx, dword [ebp - 0xd8]
shl edx, 5
sub edx, eax
mov eax, dword [ebp - 0x118]
add edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [edx + 0x18], ecx
mov ecx, dword [ebp - 0x114]
mov dword [edx], esi
mov dword [edx + 0x14], eax
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd4]
inc ecx
mov dword [edx + 0x10], esi
mov dword [edx + 0xc], eax
mov dword [edx + 8], edi
mov dword [ebp - 0x114], ecx
jmp 0x452c38
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + 0x1bc]
test eax, eax
je 0x452fa5
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x150]
xor edi, edi
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 0x1bc]
mov esi, dword [esi + 0xe0]
mov dword [ebp - 0xdc], eax
mov eax, 2
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
jmp 0x452d69
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xb8], esi
call fcn.00443a00
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x452f55
mov ecx, dword [ebp - 0x150]
push esi
push esi
mov edx, dword [ecx + 0x4f8]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x104]
mov eax, dword [edx + eax*8]
mov edx, dword [ebp - 0xec]
push ecx
mov ecx, edi
push edx
mov edx, dword [ebp - 0xe0]
call fcn.004474c0
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x453510
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0xcc]
push 0
mov dword [ebp - 0x154], esi
push 0
push eax
push esi
call fcn.004261c0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x453435
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x45310a
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], 1
mov dword [esi + 0x14], edx
jmp 0x452dba
push eax
push eax
push 0x15eb
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elf32_arm.c
call fcn.004237c0
add esp, 0x10
jmp 0x452ea0
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4534eb
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xe0], 0x4a5448
lea eax, [ecx + ecx*4]
lea esi, [edx + eax*4]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x453027
mov dword [ebp - 0xe0], str.ABS
cmp eax, 0xfffffff1
je 0x453027
cmp eax, 0xfffffff2
je 0x453557
mov ecx, dword [ebp - 0x108]
push edx
push edx
push eax
push ecx
call fcn.00433c10
add esp, 0x10
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x452c38
mov cl, byte [esi + 0xc]
mov dword [ebp - 0xdc], 0
mov al, cl
mov byte [ebp - 0x148], cl
and eax, 0xf
cmp eax, 3
je 0x45304c
mov eax, dword [esi]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0x38]
add eax, edx
mov edx, dword [ecx + 0x3c]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ebp - 0xdc]
add eax, ecx
add eax, edx
mov dword [ebp - 0xd8], eax
xor eax, eax
mov al, byte [esi + 0xe]
and eax, 3
mov dword [ebp - 0x1c], eax
push eax
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x14c]
push eax
mov eax, dword [esi + 0x64]
mov esi, dword [ebp - 0x108]
push eax
push esi
call fcn.0043f6c0
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x148]
and eax, 0xf
jmp 0x452d69
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 0x14]
mov dword [ebp - 0xe0], eax
mov eax, dword [ecx + 0x1c]
mov edx, dword [edi + 0x18]
mov dword [ebp - 0xdc], edx
cmp dword [eax + 0x2c], 3
je 0x4533d4
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x453426
mov ecx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xdc]
mov edx, dword [edx + 0x38]
add esi, dword [ecx + 8]
mov ecx, dword [eax + 0x1c]
add esi, edx
add esi, ecx
mov dword [ebp - 0xd8], esi
jmp 0x452d4e
sub esp, 0xc
mov eax, dword [ebp - 0xcc]
push eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0xdc]
add esp, 0x10
mov dword [esi + 0x14], eax
mov dword [ebp - 0xd0], 1
jmp 0x452dba
mov edx, dword [ebp - 0x150]
call dword [edx + 0x4f4]
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x74], ecx
jmp 0x4528f2
mov ecx, edi
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp + 0x10]
call fcn.004427a0
cmp eax, dword [ebp - 0xe8]
jne 0x452c38
test edi, edi
je 0x453c4b
test byte [edi + 0x5c], 8
je 0x452c38
jmp 0x452cad
mov eax, dword [ebp - 0x114]
push 0x442850
push 0x1c
push eax
mov eax, dword [ebp - 0x118]
push eax
call sub.msvcrt.dll_qsort
mov edx, dword [ebp + 0x10]
add esp, 0x10
mov edx, dword [edx + 0x1c]
mov dword [ebp - 0x78], edx
cmp dword [edx + 0x2c], 3
jne 0x4529f3
mov ecx, dword [ebp - 0x108]
mov edi, dword [ecx + 0x64]
test edi, edi
jne 0x4531ce
jmp 0x4529f3
mov edi, dword [edi + 0xc]
test edi, edi
je 0x4529f3
mov esi, dword [edi + 0x8c]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x160], esi
cmp dword [esi + 4], 1
jne 0x4531c3
test byte [esi + 8], 4
je 0x4531c3
cmp word [edi + 0x14], 0
js 0x4531c3
mov eax, dword [edi + 0x18]
and eax, 0x380
cmp ax, 0x200
je 0x4531c3
mov eax, dword [edi + 0x3c]
cmp eax, 0x4a54f0
je 0x4531c3
mov eax, dword [eax + 0x1c]
mov edx, dword [edi + 0x38]
add eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [esi + 0x30]
test eax, eax
je 0x453eb1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x160]
mov esi, dword [eax + 0x90]
test esi, esi
je 0x453bcf
mov dword [ebp - 0x7c], 0
jmp 0x453262
mov ecx, dword [ecx + edx + 8]
mov dword [ebp - 0x84], ecx
cmp byte [ebx + 4], 0x74
je 0x453296
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp esi, dword [ebp - 0x7c]
jbe 0x453bc9
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x7c]
shl edx, 3
mov ecx, dword [eax + 0x98]
lea ebx, [ecx + edx]
mov eax, dword [ebx]
mov dword [ebp - 0x88], eax
lea eax, [esi - 1]
cmp eax, dword [ebp - 0x7c]
jne 0x453242
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x84], edx
cmp byte [ebx + 4], 0x74
jne 0x453252
mov ecx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x88]
add ecx, ebx
mov eax, dword [ebp - 0x84]
mov edx, ecx
mov dword [ebp - 0x158], ecx
mov ecx, dword [ebp - 0x80]
and edx, 0xfffff000
add eax, ecx
and eax, 0xfffff000
cmp edx, eax
je 0x453252
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x84], eax
jbe 0x453252
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
jmp 0x453324
mov edx, dword [ebp - 0x88]
add edx, eax
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x84], eax
jbe 0x453ba0
mov esi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x6c]
add esi, eax
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x158], esi
sub esp, 0xc
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x2c]
add eax, edx
push eax
call fcn.00430bb0
mov ebx, eax
and eax, 0xe000
add esp, 0x10
cmp eax, 0xe000
je 0x453b00
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
xor esi, esi
mov dword [ebp - 0x64], 0
xor ebx, ebx
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x6d], 0
mov eax, dword [ebp - 0x158]
and eax, 0xfff
cmp eax, 0xffe
je 0x4537e0
mov eax, 4
cmp byte [ebp - 0x6d], 0
jne 0x4532e7
mov eax, 2
jmp 0x4532e7
mov eax, dword [ebx + 0x8c]
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x4529d8
sub esp, 0xc
mov eax, dword [ebp - 0xf4]
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x4529d8
mov eax, dword [eax + 0xe0]
test eax, eax
je 0x4530d5
mov edx, dword [edi + 0x28]
cmp edx, 0xffffffff
je 0x4530d5
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x453c30
mov esi, dword [eax + 0x38]
mov dword [ebp - 0xe0], eax
add esi, edx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], esi
mov esi, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0xd8]
add ecx, esi
mov dword [ebp - 0xd8], ecx
jmp 0x452d4e
mov dword [ebp - 0xd8], 0
jmp 0x452d4e
sub esp, 0xc
mov esi, dword [ebp - 0x104]
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x150]
mov edx, ebx
push esi
call fcn.0044e310
add esp, 0x10
mov dword [ebp - 0x68], eax
test eax, eax
je 0x453c0b
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x154]
push 0
push 1
push ecx
push edx
call fcn.004261c0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x453bee
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x104]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x18], edx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x34], edi
test eax, eax
je 0x4536fd
mov edx, dword [ebp - 0xd4]
mov dword [esi + 0x40], edx
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0x100], 1
jmp 0x452dba
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x78]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x453c97
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
jne 0x452fcc
mov eax, dword [ebx + 0x8c]
mov ecx, dword [eax + 0x68]
test ecx, ecx
je 0x4537c8
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x45265e
mov esi, dword [ebp - 0x14c]
mov eax, dword [ebp - 0xf8]
cmp dword [esi + 0x78], eax
je 0x45265e
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
xor eax, eax
add esp, 0x10
jmp 0x452660
mov dword [ebp - 0xe0], str.COM
jmp 0x453027
mov ebx, dword [ebp - 0x100]
test ebx, ebx
jne 0x452a5a
mov esi, dword [ebp - 0x150]
mov esi, dword [esi + 0x168]
test esi, esi
je 0x453f07
mov ebx, dword [ebp - 0x120]
test ebx, ebx
je 0x453edf
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x124]
add eax, 0x4d0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x154], eax
jmp 0x453623
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], edi
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0x20]
mov dword [ebx + 0x3c], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x24], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x1c], eax
mov eax, dword [esi + 4]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x14], eax
lea ecx, [ebp - 0x24]
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x38], eax
mov eax, dword [esi + 0x18]
call fcn.00443ef0
mov edi, dword [ebp - 0x60]
inc edi
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x60], edi
mov dword [ebx + 0x2c], eax
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x24]
add esi, 0x20
mov dword [ebx + 0x30], eax
cmp dword [ebp - 0x60], edx
je 0x453edf
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xc8], edx
mov edx, dword [ebp - 0x150]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc4], ecx
shl eax, 3
mov ecx, dword [edx + 0x4f8]
add eax, ecx
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xc8]
push 0
push 1
push eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0xc0], ecx
push eax
call fcn.004261c0
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4535b6
mov esi, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xc8]
push eax
mov eax, dword [esi + 0x94]
push eax
push str._s:_cannot_create_stub_entry__s
call dword [0x4a5380]
xor eax, eax
add esp, 0x10
jmp 0x452660
sub esp, 0xc
push ecx
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x452920
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x114]
shl edx, 3
add eax, eax
mov dword [ebp - 0x110], eax
push eax
push eax
mov eax, dword [ebp - 0x114]
shl eax, 6
sub eax, edx
push eax
mov eax, dword [ebp - 0x118]
push eax
call fcn.00431960
add esp, 0x10
mov dword [ebp - 0x118], eax
jmp 0x452e2f
call dword [edx + 0x4f4]
jmp 0x4528d7
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x453c72
sub esp, 0xc
mov eax, dword [ebp - 0x5c]
push eax
call sub.msvcrt.dll_strlen
pop edx
add eax, 0x10
pop ecx
mov ecx, dword [ebp - 0x150]
push eax
mov eax, dword [ecx + 0x4ec]
push eax
call fcn.00427e70
add esp, 0x10
mov edx, eax
mov dword [esi + 0x40], eax
test eax, eax
je 0x453c19
mov esi, dword [ebp - 0xec]
movzx eax, byte [esi + 4]
cmp eax, 0xa
je 0x453785
cmp eax, 0x1e
je 0x453785
cmp eax, 0x33
je 0x453785
sub eax, 0x1c
cmp eax, 1
ja 0x45376d
cmp dword [ebp - 0xb8], 1
je 0x453bb1
mov ecx, dword [ebp - 0x5c]
push esi
push ecx
push str.___s_veneer
push edx
call fcn.00446c50
add esp, 0x10
jmp 0x4534d2
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x453758
push eax
mov eax, dword [ebp - 0x5c]
push eax
push str.___s_from_thumb
push edx
call fcn.00446c50
add esp, 0x10
jmp 0x4534d2
mov dword [ebp - 0x12c], 0x3fa110
jmp 0x452717
sub esp, 0xc
push 0x11
call fcn.00424490
add esp, 0x10
jmp 0x453510
sub esp, 0xc
mov edx, dword [ebp - 0xf4]
push edx
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x453521
cmp byte [ebp - 0x6d], 0
je 0x4533a2
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x453393
mov edx, dword [ebp - 0x8c]
test edx, edx
je 0x453393
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x453393
sub esp, 0xc
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x158]
push 0x442850
push 0x1c
push eax
mov eax, dword [ebp - 0x118]
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x4c], ecx
call sub.msvcrt.dll_bsearch
add esp, 0x20
mov dword [ebp - 0xac], eax
test eax, eax
je 0x453ddf
mov edx, dword [eax + 0xc]
lea ecx, [ebp - 0x30]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x30], 0
call fcn.004473f0
test eax, eax
je 0x453872
mov edx, dword [ebp - 0xac]
mov dword [edx + 0x18], 1
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x453dd0
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 8]
test eax, eax
je 0x453dd0
cmp dword [eax + 0x28], 0xffffffff
setne al
and eax, 0xff
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xac]
cmp dword [ecx + 0x10], 0xa
je 0x453da0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x453393
test esi, esi
je 0x453cfc
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x94]
and eax, 0x2000
mov dword [ebp - 0xa8], 0x11
cmp eax, 1
mov eax, dword [ebp - 0x94]
sbb esi, esi
and eax, 0x800
xor esi, 0xffffffff
and esi, 0x40000
cmp eax, 1
sbb ebx, ebx
mov eax, dword [ebp - 0x94]
xor ebx, 0xffffffff
and eax, 0x4000000
and ebx, 0x80000
cmp eax, 1
sbb ecx, ecx
mov eax, dword [ebp - 0x94]
and edx, 0x3f0000
and eax, 0x7ff
shr edx, 4
add eax, eax
or edx, eax
xor ecx, 0xffffffff
or esi, edx
and ecx, 0x100000
or esi, ebx
or esi, ecx
test esi, 0x100000
je 0x45396a
or esi, 0xfff00000
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x158]
add eax, 4
mov ecx, dword [ecx + 0x170]
test ecx, ecx
je 0x453997
mov edx, dword [ebp - 0xa0]
test edx, edx
je 0x453997
cmp dword [ebp - 0xa8], 0x13
je 0x453e6b
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x4539ae
cmp dword [ebp - 0xa8], 0x14
je 0x453ce1
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x4539bb
and eax, 0xfffffffc
cmp dword [ebp - 0xa8], 0x14
setne dl
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x4539da
mov ecx, dword [ebp - 0xac]
mov esi, dword [ecx + 4]
sub esi, eax
test dl, dl
je 0x4539eb
mov edx, dword [ebp - 0xb0]
test edx, edx
je 0x4539eb
sub esi, 4
add esi, eax
mov eax, dword [ebp - 0x158]
and eax, 0xfffff000
mov dword [ebp - 0x158], eax
mov eax, esi
and eax, 0xfffff000
cmp dword [ebp - 0x158], eax
jne 0x453393
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x120], eax
je 0x453e1b
mov ecx, dword [ebp - 0x74]
cmp dword [ebp - 0x120], ecx
jae 0x453a62
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x124]
shl eax, 5
lea edx, [eax + ecx]
mov ebx, dword [edx + 0x14]
cmp dword [edx + 4], edi
je 0x453e4f
sub esp, 0xc
push ebx
call sub.msvcrt.dll_free
mov dword [ebp - 0x100], 1
add esp, 0x10
sub esp, 0xc
push 0x12
call fcn.004318c0
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x453e9b
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [edi + 4]
push eax
push str._x:_x
push ebx
call fcn.00446c50
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
shl eax, 5
add esp, 0x10
add edx, eax
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x88]
mov dword [edx], ecx
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x14], ebx
mov ebx, dword [ebp - 0x98]
sub esi, eax
mov dword [edx + 0x10], ecx
test ebx, ebx
mov ecx, dword [ebp - 0x120]
sete al
mov dword [edx + 0xc], esi
and eax, 0xff
mov esi, dword [ebp - 0xa8]
inc ecx
mov dword [edx + 4], edi
mov dword [edx + 0x18], esi
mov dword [edx + 0x1c], eax
mov dword [ebp - 0x120], ecx
jmp 0x453393
test bh, 0x18
je 0x45334d
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov esi, dword [ebp - 0x88]
add eax, 2
shl ebx, 0x10
add eax, esi
push eax
call fcn.00430bb0
or eax, ebx
add esp, 0x10
mov edx, eax
mov dword [ebp - 0x94], eax
and edx, 0xf800d000
cmp edx, 0xf0009000
sete al
xor ecx, ecx
cmp edx, 0xf000d000
mov cl, al
sete al
and eax, 0xff
cmp edx, 0xf000c000
mov dword [ebp - 0x9c], eax
sete al
and eax, 0xff
xor esi, esi
mov dword [ebp - 0x98], eax
cmp edx, 0xf0008000
je 0x453cc2
mov ebx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x9c]
or ebx, ecx
mov edx, esi
or ebx, eax
mov dword [ebp - 0x64], 1
or edx, ebx
mov byte [ebp - 0x6d], 1
mov dword [ebp - 0x6c], edx
jmp 0x45337d
mov eax, dword [ebp - 0x160]
mov esi, dword [eax + 0x90]
jmp 0x453252
push eax
mov eax, dword [ebp - 0x5c]
push eax
push str.___s_from_arm
push edx
call fcn.00446c50
add esp, 0x10
jmp 0x4534d2
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x4531c3
sub esp, 0xc
mov eax, dword [ebp - 0x2c]
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x4531c3
push eax
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebx + 0x94]
push eax
push str._s:_cannot_create_stub_entry__s
call dword [0x4a5380]
add esp, 0x10
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x453510
sub esp, 0xc
mov esi, dword [ebp - 0xcc]
push esi
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x453510
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], 0
jmp 0x452d4e
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0xa0]
mov eax, dword [eax + 0x938]
test byte [eax + edx], 8
je 0x452c38
jmp 0x452cad
mov dword [ebp - 0x5c], str.unnamed
jmp 0x45370b
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xf8], 0
jmp 0x4529df
push eax
mov eax, dword [ebp - 0xfc]
push 0
push 0
push 0
push 0
push esi
mov esi, dword [ebp - 0x108]
push eax
push esi
call fcn.004367a0
add esp, 0x20
mov dword [ebp - 0xf8], eax
jmp 0x453502
mov eax, dword [ebp - 0x94]
and eax, 0x7f00000
cmp eax, 0x3800000
setne al
and eax, 0xff
mov esi, eax
jmp 0x453b79
mov dl, 1
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xa8], 0x13
jmp 0x4539c5
test ebx, ebx
je 0x453393
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
and esi, 0x3ff0000
and eax, 0x7ff
add eax, eax
mov edx, dword [ebp - 0x94]
shr esi, 4
shr edx, 0x1a
or esi, eax
mov eax, dword [ebp - 0x94]
and edx, 1
shr eax, 0xb
and eax, 1
cmp eax, edx
sete al
and eax, 0xff
shl eax, 0x16
or esi, eax
mov eax, edx
shl eax, 0x18
or esi, eax
mov eax, dword [ebp - 0x94]
shr eax, 0xd
and eax, 1
cmp eax, edx
sete al
and eax, 0xff
shl eax, 0x17
or esi, eax
test esi, 0x1000000
je 0x453d79
or esi, 0xff000000
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x453e84
and esi, 0xfffffffc
mov dword [ebp - 0xa8], 0x14
jmp 0x45396a
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x453e02
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x453e02
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 1
jmp 0x4538ca
mov dword [ebp - 0xb0], 0
jmp 0x4538a6
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa4], 0
jmp 0x4538db
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0xa4], 0
jmp 0x4538ca
push eax
push eax
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x120]
shl eax, 6
add edx, edx
push eax
mov eax, dword [ebp - 0x124]
push eax
mov dword [ebp - 0x11c], edx
call fcn.00431960
add esp, 0x10
mov dword [ebp - 0x124], eax
jmp 0x453a23
mov eax, dword [ebp - 0x88]
cmp dword [edx + 8], eax
jne 0x453a4c
test ebx, ebx
jne 0x453aa3
jmp 0x453a62
mov dword [ebp - 0x98], 1
mov dword [ebp - 0xa8], 0x14
jmp 0x4539b8
cmp dword [ebp - 0x9c], 1
sbb edx, edx
add edx, 0x13
mov dword [ebp - 0xa8], edx
jmp 0x45396a
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
shl eax, 5
add edx, eax
jmp 0x453aa3
mov esi, dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x2c]
push eax
push edi
push esi
call fcn.004251d0
add esp, 0x10
test eax, eax
je 0x453521
mov ecx, dword [edi + 0x8c]
mov dword [ebp - 0x160], ecx
jmp 0x453225
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x124]
mov dword [ecx + 0x150], eax
mov eax, 1
mov dword [ecx + 0x14c], esi
jmp 0x452660
mov edx, dword [ebp - 0x150]
mov eax, 1
mov dword [edx + 0x14c], 0
mov dword [edx + 0x150], 0
jmp 0x452660