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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x120
mov ebx, edx
mov edi, ecx
cmp byte [0x425a59], 0
mov dword [esp + 4], ecx
je 0x410851
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
mov ecx, dword [0x425a48]
test al, al
je 0x410829
cmp ecx, 2
je 0x41089c
cmp ecx, 1
jne 0x4108af
cmp dword [0x425a50], 2
mov eax, str._llo
mov ecx, str._016llo
jmp 0x4108c0
cmp ecx, 2
je 0x4108e2
cmp ecx, 1
jne 0x4108f5
cmp dword [0x425a50], 2
mov eax, str._llo
mov ecx, str._08llo
jmp 0x410906
mov eax, dword [0x425a50]
cmp eax, 4
ja case.0x41085b.3
jmp dword [eax*4 + 0x4201f8]
cmp byte [0x425a56], 1
jne 0x412896
cmp byte [ebp + 8], 0
je 0x412896
mov edi, ebx
call fcn.0041d048
mov ebx, eax
mov eax, dword [eax + 0x10]
cmp eax, dword [ebx + 0xc]
jae 0x4129af
lea ecx, [eax + 1]
mov dword [ebx + 0x10], ecx
mov byte [eax], 0xa
jmp 0x4129ba
cmp dword [0x425a50], 2
mov eax, str._llx
mov ecx, str._016llx
jmp 0x4108c0
cmp dword [0x425a50], 2
mov eax, str._lld
mov ecx, str._016lld
cmove ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], 0x41fbbc
mov eax, str.________________
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
cmp esi, ecx
jne 0x410927
jmp 0x41288b
cmp dword [0x425a50], 2
mov eax, str._llx
mov ecx, str._08llx
jmp 0x410906
cmp dword [0x425a50], 2
mov eax, str._lld
mov ecx, str._08lld
cmove ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], 0x41fc05
mov eax, str.________
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
cmp esi, ecx
je 0x41288b
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x94], eax
add esi, 0x59
mov dword [esp + 0x28], ecx
jmp 0x410950
lea eax, [esi + 0x68]
add esi, 0xf
cmp esi, ecx
mov esi, eax
je 0x412849
mov eax, dword [esi - 0x15]
test al, 1
jne 0x410960
cmp byte [0x425a5a], 0
jne 0x410940
test al, 1
je 0x41096d
cmp byte [0x425a43], 0
jne 0x410940
test al, 2
jne 0x41097a
cmp byte [0x425a4d], 0
jne 0x410940
test al, 4
je 0x410987
cmp byte [0x425a58], 0
jne 0x410940
test al, al
jns 0x41099d
cmp byte [0x425a47], 0
jne 0x41099d
cmp byte [0x425a9c], 0
je 0x410940
test byte [esi - 0x45], 1
jne 0x4109b9
lea eax, [esi - 0x45]
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
jmp 0x410a13
mov ebx, dword [esi - 0x41]
mov ecx, dword [esi - 0x3d]
cmp ebx, 0xa
ja 0x4109d2
mov eax, ebx
add al, bl
mov byte [esp + 0x38], al
lea eax, [esp + 0x39]
jmp 0x410a07
mov dword [esp + 0xc], ecx
cmp ebx, 0xfffffff0
jae 0x412b11
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x40], eax
add edi, 2
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0xc]
inc ebx
push ebx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [edi + 4]
lea ecx, [eax - 0x11]
mov dword [esp + 0xc], ecx
cmp ecx, 4
mov ecx, 0
cmovb ecx, edi
mov dword [esp], ecx
cmp byte [0x425a80], 0
je 0x410ad5
add eax, 0xfffffff5
cmp eax, 2
mov eax, 0x416850
mov ecx, 0x4168e0
cmovb eax, ecx
cmp dword [esp + 0xc], 4
mov ecx, 0x416a40
cmovb eax, ecx
movzx ecx, byte [esi - 0x45]
test cl, 1
je 0x410a69
mov edx, dword [esi - 0x3d]
mov ecx, dword [esi - 0x41]
jmp 0x410a6e
lea edx, [esi - 0x44]
shr ecx, 1
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], edx
sub esp, 0xc
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 4], xmm0
lea ecx, [esp + 0x84]
mov dword [esp], ecx
call eax
add esp, 0xc
cmp byte [esp + 0x84], 0
je 0x410ad5
lea ecx, [esp + 0x38]
lea eax, [esp + 0x78]
push eax
call fcn.0041d23a
cmp byte [esp + 0x84], 0
je 0x410ad5
test byte [esp + 0x78], 1
je 0x410ad5
push dword [esp + 0x80]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [0x425a59], 0
je 0x410b35
call fcn.0041d048
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xd4], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0xd0], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xcc], ecx
sub esp, 0x10
movsd xmm0, qword [esp + 0xdc]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xe4]
movsd qword [esp], xmm0
mov ecx, eax
call fcn.00410560
add esp, 0x10
mov eax, dword [0x425a50]
cmp eax, 4
je 0x410b57
cmp dword [esp + 0xc], 3
ja 0x410bc5
lea ecx, [eax - 4]
cmp ecx, 0xfffffffd
ja 0x410bc5
cmp byte [0x425a5a], 0
je 0x410bc5
call fcn.0041d048
movzx edx, byte [esp + 0x38]
test dl, 1
je 0x410b70
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
jmp 0x410b76
shr edx, 1
lea edi, [esp + 0x39]
mov ecx, eax
push edx
push edi
call fcn.0041cfca
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x410b8f
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x410b9d
mov ecx, eax
push 1
push 0x41f8c3
call fcn.0041cfca
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x28]
test byte [esp + 0x38], 1
je 0x410940
push dword [esp + 0x40]
call sub.libc.dll_operator_delete_void_
mov ecx, dword [esp + 0x2c]
add esp, 4
jmp 0x410940
cmp eax, 1
je 0x410c18
movzx ecx, byte [esi - 0x49]
lea edx, [ecx - 0x76]
cmp edx, 2
jb 0x410bdb
cmp ecx, 0x55
jne 0x410c3b
cmp eax, 2
jne 0x410c18
push dword [esi - 0x55]
push dword [esi - 0x59]
mov ebx, dword [esp + 0x38]
push ebx
push 0x17
lea eax, [esp + 0x88]
push eax
call fcn.00416b00
add esp, 0x14
push dword [esi - 0x4d]
push dword [esi - 0x51]
push ebx
lea ebx, [esp + 0xa8]
push 0x17
push ebx
call fcn.00416b00
add esp, 0x14
jmp 0x410c3b
mov ebx, dword [esp + 0x48]
push ebx
lea eax, [esp + 0x7c]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
push ebx
lea ebx, [esp + 0xa0]
push ebx
call sub.msvcrt.dll_strcpy
add esp, 8
movzx eax, byte [esi - 0x49]
movzx ecx, al
lea edx, [ecx - 0x76]
cmp edx, 2
jb 0x410cb2
cmp ecx, 0x55
je 0x410cb2
cmp dword [edi + 4], 3
jne 0x410c63
push dword [esp + 0x94]
lea eax, [esp + 0x7c]
push eax
jmp 0x410c77
cmp dword [esp + 0xc], 3
lea ecx, [esp + 0x78]
ja 0x410c81
cmp al, 0x49
jne 0x410c81
push dword [esp + 0x48]
push ecx
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x410c96
push dword [esi - 0x55]
push dword [esi - 0x59]
push dword [esp + 0x38]
push 0x17
push ecx
call fcn.00416b00
add esp, 0x14
push dword [esi - 0x4d]
push dword [esi - 0x51]
push dword [esp + 0x38]
push 0x17
lea eax, [esp + 0xac]
push eax
call fcn.00416b00
add esp, 0x14
mov eax, dword [0x425a50]
cmp eax, 3
je 0x410cc5
cmp byte [0x425a68], 0
je 0x410cd4
mov ecx, dword [edi + 4]
cmp dword [esp + 0xc], 4
jb 0x410d05
cmp ecx, 3
je 0x410d05
test eax, eax
je 0x410db3
cmp eax, 2
jne 0x410d9f
call fcn.0041d048
movzx edx, byte [esp + 0x38]
test dl, 1
je 0x410df7
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
jmp 0x410dfd
lea eax, [ecx - 0x15]
mov dword [esp + 0x90], eax
cmp eax, 0xfffffffc
mov eax, 0
cmovb edi, eax
cmp ecx, 3
mov dword [esp + 0x4c], edi
jne 0x410e38
mov eax, dword [esi - 0x21]
movsd xmm0, qword [esi - 0x29]
movsd qword [esp + 0x10], xmm0
mov edx, dword [eax]
sub esp, 0xc
movsd xmm0, qword [esp + 0x1c]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x120]
call dword [edx + 0x14]
mov ecx, dword [esp + 0x114]
mov eax, ecx
shr eax, 5
and al, 0x10
test cl, 1
jne 0x411204
mov edx, ecx
shr dl, 1
and dl, 1
or dl, al
or dl, 0xe
mov byte [esp + 0xc], dl
mov dl, 3
test ecx, 0x400
jne 0x41120c
mov eax, ecx
and eax, 0x800
cmp eax, 1
mov edx, 0
adc dl, 1
jmp 0x41120c
cmp dword [esp + 0xc], 4
jb 0x410eca
cmp eax, 3
jne 0x410eca
cmp byte [0x425a54], 0
jne 0x410f79
call fcn.0041d048
mov edi, eax
lea ebx, [esp + 0x78]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
sub ecx, edx
cmp eax, ecx
jbe 0x410ef7
mov ecx, edi
push eax
push ebx
call fcn.0041cfca
mov edi, eax
mov edx, dword [eax + 0x10]
jmp 0x410f14
shr edx, 1
lea edi, [esp + 0x39]
mov ecx, eax
push edx
push edi
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
cmp dword [edi + 0xc], eax
je 0x410f24
mov byte [eax], 0x20
mov eax, dword [edi + 0x10]
inc eax
mov dword [edi + 0x10], eax
movzx ecx, byte [esi - 0x49]
cmp eax, dword [edi + 0xc]
jae 0x410f44
lea edx, [eax + 1]
mov dword [edi + 0x10], edx
mov byte [eax], cl
jmp 0x410f51
mov ebx, dword [esi - 0x29]
mov eax, dword [esi - 0x25]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
mov ecx, edi
test al, al
je 0x411239
call fcn.0041d156
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp + 0x70], eax
test ebx, ebx
je 0x4112a9
mov dword [esp + 0x10c], ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x110], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x118]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
lea ecx, [esp + 0x1c]
call fcn.0041d180
movzx eax, byte [esp + 0x14]
mov byte [esp + 0xc], al
movzx edx, byte [esp + 0x15]
movzx ecx, word [esp + 0x16]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
jmp 0x4112c9
cmp eax, 1
mov ecx, dword [esp + 0x28]
jne 0x410ba5
call fcn.0041d048
movzx ecx, byte [esp + 0x38]
test cl, 1
je 0x411552
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
jmp 0x411558
test eax, eax
je 0x410f14
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [edi + 0x10]
add edx, ebx
mov dword [edi + 0x10], edx
cmp edx, dword [edi + 0xc]
jae 0x410f70
lea ecx, [edx + 1]
mov dword [edi + 0x10], ecx
mov byte [edx], 0x20
jmp 0x410f79
mov ecx, edi
push 1
push 0x41fc2c
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
movzx ecx, byte [esi - 0x49]
cmp eax, dword [edi + 0xc]
jb 0x410e2b
movzx eax, cl
mov ecx, edi
push eax
call fcn.0041cfd0
mov edi, eax
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
lea ecx, [esp + 0x78]
je 0x41107a
mov byte [eax], 0x20
mov ebx, dword [edi + 0x10]
inc ebx
mov dword [edi + 0x10], ebx
jmp 0x411091
mov ecx, edi
push 0x20
call fcn.0041cfd0
cmp byte [0x425a9d], 0
je 0x410ff5
call fcn.0041d048
mov edi, eax
lea eax, [esp + 0x9c]
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub ecx, eax
cmp ebx, ecx
jbe 0x410fbe
mov ecx, edi
push ebx
lea eax, [esp + 0xa0]
push eax
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x410fdc
test ebx, ebx
je 0x410fdc
push ebx
lea ecx, [esp + 0xa0]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x10]
add eax, ebx
mov dword [edi + 0x10], eax
cmp eax, dword [edi + 0xc]
jae 0x410fec
lea ecx, [eax + 1]
mov dword [edi + 0x10], ecx
mov byte [eax], 0x20
jmp 0x410ff5
mov ecx, edi
push 0x20
call fcn.0041cfd0
call fcn.0041d048
movzx ecx, byte [esi - 0x49]
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0xc]
jae 0x411010
lea edi, [edx + 1]
mov dword [eax + 0x10], edi
mov byte [edx], cl
jmp 0x41101b
movzx edx, cl
mov ecx, eax
push edx
call fcn.0041cfd0
cmp dword [esp + 0xc], 3
ja 0x411bba
cmp byte [esi - 0x49], 0x2d
jne 0x411bba
mov ebx, dword [esi - 0x29]
mov eax, dword [esi - 0x25]
mov dword [esp + 0x24], eax
mov edi, dword [esp]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
test al, al
je 0x4110fa
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
lea ebx, [esp + 0x1c]
mov ecx, ebx
call fcn.0041d180
jmp 0x411123
mov ecx, edi
push 1
push 0x41fc2c
call fcn.0041cfca
lea ecx, [esp + 0x78]
mov edi, eax
mov ebx, dword [eax + 0x10]
push ecx
call sub.msvcrt.dll_strlen
add esp, 4
mov edx, eax
mov eax, dword [edi + 0xc]
sub eax, ebx
cmp edx, eax
jbe 0x4110b9
mov ecx, edi
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.0041cfca
mov edi, eax
mov ecx, dword [eax + 0x10]
jmp 0x4110d8
mov ecx, ebx
test edx, edx
je 0x4110d8
push edx
lea eax, [esp + 0x7c]
push eax
push ecx
mov ebx, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x10]
add ecx, ebx
mov dword [edi + 0x10], ecx
lea ebx, [esp + 0x9c]
cmp dword [edi + 0xc], ecx
je 0x41118c
mov byte [ecx], 0x20
mov eax, dword [edi + 0x10]
inc eax
mov dword [esp], eax
mov dword [edi + 0x10], eax
jmp 0x4111a2
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
lea ebx, [esp + 0x1c]
mov ecx, ebx
call fcn.0041d16e
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x24], al
movzx eax, byte [esp + 0x15]
mov byte [esp + 0x2c], al
movzx edi, word [esp + 0x16]
call fcn.0041d048
mov dword [esp + 0x14], str.__02x__04x
mov dword [esp + 0x10], 0x41fed0
movzx ecx, byte [esp + 0x2c]
mov byte [esp + 0x18], cl
mov word [esp + 0x1a], di
mov ecx, eax
push ebx
call fcn.0041cfe2
movzx ecx, byte [esp + 0x24]
movzx eax, cl
add eax, 0xffffffe0
cmp eax, 0xde
ja case.0x41117b.33
jmp dword [eax*4 + 0x42022c]
mov eax, 0x41fed8
jmp 0x411b71
mov ecx, edi
push 1
push 0x41fc2c
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
mov dword [esp], eax
cmp dword [esp + 0xc], 4
mov eax, 0x41fc2e
cmovb ebx, eax
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov edx, dword [edi + 0xc]
mov ecx, dword [esp]
sub edx, ecx
cmp eax, edx
jbe 0x4111d4
mov ecx, edi
push eax
push ebx
call fcn.0041cfca
mov edi, eax
mov edx, dword [eax + 0x10]
jmp 0x4111ef
mov edx, ecx
test eax, eax
je 0x4111ef
push eax
push ebx
push edx
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [edi + 0x10]
add edx, ebx
mov dword [edi + 0x10], edx
cmp dword [edi + 0xc], edx
mov ecx, dword [esp + 0x28]
je 0x41182e
mov byte [edx], 0xa
jmp 0x411829
or al, 1
xor edx, edx
mov byte [esp + 0xc], al
and ecx, 4
shl ecx, 5
mov dword [esp + 0x24], 0
mov dword [esp + 0x6c], 1
mov dword [esp + 0x2c], 0
xor ebx, ebx
mov dword [esp + 0x70], 0
jmp 0x4112c9
call fcn.0041d1a4
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp + 0x70], eax
test ebx, ebx
je 0x4112a9
mov dword [esp + 0x104], ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x110]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
lea ecx, [esp + 0x1c]
call fcn.0041d16e
movzx eax, byte [esp + 0x14]
mov byte [esp + 0xc], al
movzx edx, byte [esp + 0x15]
movzx ecx, word [esp + 0x16]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], 0
jmp 0x4112c9
movzx eax, byte [esi - 5]
mov byte [esp + 0xc], al
movzx edx, byte [esi - 4]
movzx ecx, word [esi - 3]
mov eax, dword [esi - 0x59]
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0x55]
mov dword [esp + 0x2c], eax
xor ebx, ebx
mov dword [esp], ecx
cmp byte [0x425a68], 0
je 0x411322
mov edi, edx
call fcn.0041d048
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0x41fc60
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov ecx, eax
lea eax, [esp + 0x10]
push eax
call fcn.0041cfe2
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x4113aa
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0x20
jmp 0x4113b3
movzx eax, byte [esp + 0xc]
and al, 0xe
cmp byte [0x425a54], 0
lea ebx, [esp + 0x10]
mov byte [esp + 0xb], al
jne 0x4116fa
mov dword [esp + 0x34], edx
mov ecx, eax
mov eax, dword [esp + 0x48]
cmp cl, 0xa
je 0x411365
cmp byte [esp + 0xb], 0xe
jne 0x411373
mov eax, dword [esp + 4]
cmp dword [eax + 4], 3
mov eax, dword [esp + 0x94]
jne 0x411373
push eax
lea eax, [esp + 0x7c]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
call fcn.0041d048
mov edi, eax
lea ebx, [esp + 0x78]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
sub ecx, edx
cmp eax, ecx
jbe 0x411596
mov ecx, edi
push eax
push ebx
call fcn.0041cfca
mov edi, eax
mov edx, dword [eax + 0x10]
jmp 0x4115b3
mov ecx, eax
push 0x20
call fcn.0041cfd0
mov dword [esp + 0x54], str._02x__02x__04x__08x
mov dword [esp + 0x50], 0x41fea4
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x58], cl
mov ecx, edi
mov byte [esp + 0x59], cl
mov ecx, dword [esp]
mov word [esp + 0x5a], cx
mov dword [esp + 0x5c], ebx
mov ecx, eax
lea eax, [esp + 0x50]
push eax
call fcn.0041cfe2
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x4113fd
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0x20
jmp 0x411406
mov ecx, eax
push 0x20
call fcn.0041cfd0
movzx edx, byte [esi - 0x45]
test dl, 1
je 0x411417
mov edi, dword [esi - 0x3d]
mov edx, dword [esi - 0x41]
jmp 0x41141c
lea edi, [esi - 0x44]
shr edx, 1
mov ecx, eax
push edx
push edi
call fcn.0041cfca
movzx eax, byte [esp + 0xc]
and al, 0xe
cmp al, 0xa
mov edi, dword [esp + 4]
jne 0x411d44
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xe
ja 0x41145a
mov ecx, eax
push 0xf
push str.__indirect_for
call fcn.0041cfca
jmp 0x411479
mov dword [ecx + 0xb], 0x20726f66
mov dword [ecx + 8], 0x66207463
mov dword [ecx + 4], 0x65726964
mov dword [ecx], 0x6e692820
add dword [eax + 0x10], 0xf
mov edi, dword [esp + 0x4c]
call fcn.0041d048
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0x41fc60
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov ecx, eax
lea eax, [esp + 0x10]
push eax
call fcn.0041cfe2
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x4114c1
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0x20
jmp 0x4114ca
mov ecx, eax
push 0x20
call fcn.0041cfd0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esi - 0x29]
test eax, eax
je 0x411cd0
mov ecx, dword [esi - 0x25]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
sub esp, 0xc
movsd xmm0, qword [esp + 0x108]
movsd qword [esp], xmm0
lea eax, [esp + 0x1c]
mov dword [esp + 8], eax
mov ecx, edi
call fcn.0041d168
mov edi, eax
call fcn.0041d048
mov ebx, eax
test edi, edi
jne 0x411cb8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, edi
jae 0x4119f8
mov ecx, ebx
push edi
push edx
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x411a0f
shr ecx, 1
lea edx, [esp + 0x39]
lea edi, [esp + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x14
mov dword [esp + 0x1c], 1
mov ecx, eax
push edi
call fcn.0041cfdc
mov edi, eax
mov eax, dword [eax + 0x10]
cmp dword [edi + 0xc], eax
je 0x4115ca
mov byte [eax], 0x7c
mov eax, dword [edi + 0x10]
inc eax
mov dword [esp + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x4115e1
test eax, eax
je 0x4115b3
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [edi + 0x10]
add edx, ebx
mov dword [edi + 0x10], edx
cmp edx, dword [edi + 0xc]
jae 0x4116e4
lea ecx, [edx + 1]
mov dword [edi + 0x10], ecx
mov byte [edx], 0x20
jmp 0x4116ed
mov ecx, edi
push 1
push 0x41fc43
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
lea ebx, [esp + 0x78]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov edx, eax
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0xc]
sub eax, ecx
cmp edx, eax
jbe 0x41160d
mov ecx, edi
push edx
push ebx
call fcn.0041cfca
mov edi, eax
mov ecx, dword [eax + 0x10]
jmp 0x41162a
test edx, edx
je 0x41162a
push edx
lea eax, [esp + 0x7c]
push eax
push ecx
mov ebx, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x10]
add ecx, ebx
mov dword [edi + 0x10], ecx
mov eax, dword [edi + 0xc]
sub eax, ecx
cmp eax, 3
ja 0x411649
mov ecx, edi
push 4
push str.
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x411658
mov dword [ecx], 0x2020207c
mov eax, dword [edi + 0x10]
add eax, 4
mov dword [edi + 0x10], eax
movzx ecx, byte [esi - 0x49]
cmp eax, dword [edi + 0xc]
jae 0x41166b
lea edx, [eax + 1]
mov dword [edi + 0x10], edx
mov byte [eax], cl
jmp 0x411678
movzx eax, cl
mov ecx, edi
push eax
call fcn.0041cfd0
mov edi, eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub ecx, eax
cmp ecx, 2
ja 0x411697
mov ecx, edi
push 3
push 0x41fc4a
call fcn.0041cfca
mov edi, eax
jmp 0x4116a4
mov byte [eax + 2], 0x7c
mov word [eax], 0x2020
add dword [edi + 0x10], 3
mov eax, dword [esi - 0x31]
mov ecx, dword [esi - 0x2d]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], 0x12
mov dword [esp + 0x5c], 2
mov ecx, edi
lea eax, [esp + 0x50]
push eax
call fcn.0041cfdc
mov edi, eax
mov eax, dword [eax + 0x10]
cmp dword [edi + 0xc], eax
je 0x41174d
mov byte [eax], 0x7c
mov ebx, dword [edi + 0x10]
inc ebx
mov dword [edi + 0x10], ebx
jmp 0x411760
mov ecx, edi
push 0x20
call fcn.0041cfd0
movzx eax, byte [esp + 0xb]
mov edx, dword [esp + 0x34]
lea ebx, [esp + 0x10]
shr al, 1
cmp al, 7
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x4c]
ja case.0x41170f.2
movzx eax, al
jmp dword [eax*4 + 0x42020c]
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x2c]
je 0x411a40
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 8
ja 0x411da6
mov ecx, eax
push 9
push str._common_
call fcn.0041cfca
jmp 0x411dbb
mov ecx, edi
push 1
push 0x41fc43
call fcn.0041cfca
mov edi, eax
mov ebx, dword [eax + 0x10]
lea eax, [esp + 0x9c]
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, dword [edi + 0xc]
sub ecx, ebx
cmp eax, ecx
jbe 0x411790
mov ecx, edi
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.0041cfca
mov edi, eax
mov edx, dword [eax + 0x10]
jmp 0x4117b2
mov edx, ebx
lea ecx, [esp + 0x9c]
test eax, eax
je 0x4117b2
push eax
push ecx
push edx
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [edi + 0x10]
add edx, ebx
mov dword [edi + 0x10], edx
mov eax, dword [edi + 0xc]
sub eax, edx
cmp eax, 6
ja 0x4117d1
mov ecx, edi
push 7
push 0x41fc4e
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x4117e7
mov dword [edx + 3], 0x7c202020
mov dword [edx], 0x2020207c
mov eax, dword [edi + 0x10]
add eax, 7
mov dword [edi + 0x10], eax
mov edx, dword [esi - 0x39]
mov ebx, dword [esi - 0x35]
mov ecx, dword [edi + 0xc]
sub ecx, eax
cmp ecx, ebx
jae 0x411806
mov ecx, edi
push ebx
push edx
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x41181d
test ebx, ebx
je 0x41181d
push ebx
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, dword [edi + 0x10]
mov dword [edi + 0x10], ebx
mov eax, ebx
cmp dword [edi + 0xc], eax
mov ecx, dword [esp + 0x28]
je 0x41182e
mov byte [eax], 0xa
inc dword [edi + 0x10]
jmp 0x411840
mov ecx, edi
push 1
push 0x41f8c3
call fcn.0041cfca
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 4]
jmp 0x410ba5
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xa
ja 0x4118fa
mov ecx, eax
push 0xb
push str._absolute_
call fcn.0041cfca
jmp 0x412138
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 3
ja 0x411917
mov ecx, eax
push 4
push str.___
call fcn.0041cfca
jmp 0x412138
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xa
ja 0x411926
mov ecx, eax
push 0xb
push str._indirect_
call fcn.0041cfca
jmp 0x412138
cmp dword [ecx + 4], 3
jne 0x411943
cmp dl, 3
je 0x411fbf
movzx eax, dl
cmp eax, 2
je 0x411fd5
cmp eax, 1
jne 0x411feb
call fcn.0041d048
mov ecx, eax
push str._LTO_CODE_
call fcn.00403ca0
jmp 0x412138
mov dword [ecx + 7], 0x20296574
mov dword [ecx + 4], 0x74756c6f
mov dword [ecx], 0x73626128
add dword [eax + 0x10], 0xb
jmp 0x412138
mov dword [ecx], 0x20293f28
add dword [eax + 0x10], 4
jmp 0x412138
mov dword [ecx + 7], 0x20297463
mov dword [ecx + 4], 0x63657269
mov dword [ecx], 0x646e6928
add dword [eax + 0x10], 0xb
jmp 0x412138
mov eax, dword [esi - 0x29]
test eax, eax
je 0x411e34
mov ecx, dword [esi - 0x25]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
mov eax, dword [edi]
sub esp, 0xc
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
mov ecx, ebx
call dword [eax + 0x40]
test byte [esp + 0x1c], 1
jne 0x411f56
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x50], xmm0
mov eax, dword [edi]
lea ecx, [esp + 0xb8]
push edi
call dword [eax + 0xb4]
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0xc0]
jne 0x4119d5
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0xbc]
or ecx, eax
je 0x411f96
test byte [esp + 0x1c], 1
je 0x4119f1
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x4119f1
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, edi
jmp 0x411e48
test edi, edi
je 0x411a0f
push edi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [ebx + 0x10]
mov dword [ebx + 0x10], edi
mov eax, edi
cmp dword [ebx + 0xc], eax
mov edi, dword [esp + 4]
jne 0x411d80
mov ecx, ebx
push 1
push 0x41f967
call fcn.0041cfca
call fcn.0041d048
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
jne 0x411d51
jmp 0x411d93
call fcn.0041d048
mov edi, eax
xor ecx, ecx
cmp byte [esp + 0xb], 0xc
sete cl
mov eax, 0x41f9c5
mov edx, str._prebound
cmove eax, edx
lea ebx, [ecx + ecx*8]
inc ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
sub edx, ecx
cmp ebx, edx
jbe 0x411e97
mov ecx, edi
push ebx
push eax
call fcn.0041cfca
jmp 0x411ea5
mov eax, 0x41fee0
jmp 0x411b71
mov eax, 0x41fee8
jmp 0x411b71
mov eax, 0x41fef0
jmp 0x411b71
mov eax, 0x41fef8
jmp 0x411b71
mov eax, 0x41ff00
jmp 0x411b71
mov eax, 0x41ff08
jmp 0x411b71
mov eax, 0x41ff10
jmp 0x411b71
mov eax, 0x41ff18
jmp 0x411b71
mov eax, 0x41ff20
jmp 0x411b71
mov eax, 0x41ff28
jmp 0x411b71
mov eax, 0x41ff30
jmp 0x411b71
mov eax, 0x41ff38
jmp 0x411b71
mov eax, 0x41ff40
jmp 0x411b71
mov eax, 0x41ff48
jmp 0x411b71
mov eax, 0x41ff50
jmp 0x411b71
mov eax, 0x41ff58
jmp 0x411b71
mov eax, 0x41ff60
jmp 0x411b71
mov eax, 0x41ff68
jmp 0x411b71
mov eax, 0x41ff70
jmp 0x411b71
mov eax, 0x41ff78
jmp 0x411b71
mov eax, 0x41ff80
jmp 0x411b71
mov eax, 0x41ff88
jmp 0x411b71
mov eax, 0x41ff90
jmp 0x411b71
mov eax, 0x41ff98
jmp 0x411b71
mov eax, 0x41ffa0
jmp 0x411b71
mov eax, 0x41ffa8
jmp 0x411b71
mov eax, 0x41ffb0
jmp 0x411b71
mov eax, 0x41ffb8
jmp 0x411b71
mov eax, 0x41ffc0
jmp 0x411b71
mov eax, 0x41ffc8
mov edi, dword [eax + 4]
test edi, edi
je case.0x41117b.33
call fcn.0041d048
mov dword [esp + 0x14], str._5.5s
mov dword [esp + 0x10], 0x42007c
mov dword [esp + 0x18], edi
jmp 0x411bae
mov ebx, ecx
call fcn.0041d048
mov dword [esp + 0x14], str.____02x
mov dword [esp + 0x10], 0x42008c
mov byte [esp + 0x18], bl
mov ecx, eax
lea eax, [esp + 0x10]
push eax
call fcn.0041cfe2
call fcn.0041d048
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x411be1
mov byte [ecx], 0x20
inc dword [eax + 0x10]
movzx edx, byte [esp + 0x38]
test dl, 1
je 0x411bf9
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
jmp 0x411bff
mov ecx, eax
push 1
push 0x41fc2c
call fcn.0041cfca
movzx edx, byte [esp + 0x38]
test dl, 1
jne 0x411bd7
shr edx, 1
lea edi, [esp + 0x39]
mov ecx, eax
push edx
push edi
call fcn.0041cfca
cmp dword [esp + 0xc], 3
mov edi, dword [esp + 4]
ja 0x411d44
cmp byte [esi - 0x49], 0x49
jne 0x411d44
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xe
ja 0x411c43
mov ecx, eax
push 0xf
push str.__indirect_for
call fcn.0041cfca
jmp 0x411c62
mov dword [ecx + 0xb], 0x20726f66
mov dword [ecx + 8], 0x66207463
mov dword [ecx + 4], 0x65726964
mov dword [ecx], 0x6e692820
add dword [eax + 0x10], 0xf
mov ecx, dword [esp]
mov eax, dword [esi - 0x29]
test eax, eax
je 0x411cd0
mov edx, dword [esi - 0x25]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], edx
sub esp, 0xc
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp], xmm0
lea eax, [esp + 0x1c]
mov dword [esp + 8], eax
call fcn.0041d168
mov edi, eax
call fcn.0041d048
mov ebx, eax
test edi, edi
je 0x411d0e
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 1
ja 0x411ce6
mov ecx, ebx
push 2
push 0x41fc40
jmp 0x411d3b
call fcn.0041d048
movzx edx, byte [esi - 1]
test dl, 1
je 0x411cf1
mov edi, dword [esi + 7]
mov edx, dword [esi + 3]
jmp 0x411cf5
mov word [eax], 0x293f
add dword [ebx + 0x10], 2
jmp 0x411d40
shr edx, 1
mov edi, esi
mov ecx, eax
push edx
push edi
call fcn.0041cfca
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x411d32
mov byte [ecx], 0x29
inc dword [eax + 0x10]
jmp 0x411d40
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, edi
jae 0x411d5c
mov ecx, ebx
push edi
push edx
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x411d73
mov ecx, eax
push 1
push 0x41f967
call fcn.0041cfca
mov edi, dword [esp + 4]
call fcn.0041d048
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x411d93
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x410ba1
test edi, edi
je 0x411d73
push edi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [ebx + 0x10]
mov dword [ebx + 0x10], edi
mov eax, edi
mov edi, dword [esp + 4]
cmp dword [ebx + 0xc], eax
je 0x411a1c
mov byte [eax], 0x29
inc dword [ebx + 0x10]
call fcn.0041d048
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
jne 0x411d51
mov ecx, eax
push 1
push 0x41f8c3
call fcn.0041cfca
jmp 0x410ba1
mov byte [ecx + 8], 0x20
mov dword [ecx + 4], 0x296e6f6d
mov dword [ecx], 0x6d6f6328
add dword [eax + 0x10], 9
mov eax, dword [esp]
mov bl, ah
and bl, 0xf
je 0x41213b
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xc
ja 0x411deb
mov ecx, eax
push 0xd
push str._alignment_2
call fcn.0041cfca
jmp 0x411e07
mov byte [ecx + 0xc], 0x5e
mov dword [ecx + 8], 0x3220746e
mov dword [ecx + 4], 0x656d6e67
mov dword [ecx], 0x696c6128
add dword [eax + 0x10], 0xd
movzx edx, bl
mov ecx, eax
push edx
call fcn.0041cfe8
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 1
ja 0x411e26
mov ecx, eax
jmp 0x4120ba
mov word [ecx], 0x2029
add dword [eax + 0x10], 2
jmp 0x412138
mov ecx, edi
mov eax, dword [esi - 9]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esi - 0x11]
movsd qword [esp + 0x50], xmm0
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], edi
mov eax, dword [ecx]
sub esp, 0xc
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp + 4], xmm0
mov dword [esp], ecx
mov ecx, ebx
call dword [eax + 0x48]
test byte [esp + 0x18], 1
jne 0x411edd
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
jmp 0x411f02
push ebx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [edi + 0x10], ebx
mov eax, dword [esp]
and eax, 7
cmp ax, 5
je 0x4120d3
cmp eax, 4
je 0x4120e6
cmp eax, 1
jne 0x4120f9
call fcn.0041d048
mov ecx, eax
push str.undefined__lazy_bound__
call fcn.00403ca0
jmp 0x412138
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x64], 0
test ecx, ecx
je 0x411efa
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], eax
sub esp, 8
movsd xmm0, qword [esp + 0xec]
movsd qword [esp], xmm0
mov ecx, dword [esp + 0x54]
call fcn.0041d198
mov dword [esp + 0x4c], eax
mov ebx, edx
call fcn.0041d048
mov edi, eax
mov eax, dword [eax + 0x10]
cmp dword [edi + 0xc], eax
je 0x412001
mov byte [eax], 0x28
mov eax, dword [edi + 0x10]
inc eax
mov dword [edi + 0x10], eax
jmp 0x412014
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x98], eax
lea eax, [esp + 0x77]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.00410450
add esp, 0xc
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x411f96
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 5
ja 0x41210c
mov ecx, eax
push 6
push str._____
call fcn.0041cfca
jmp 0x41211c
call fcn.0041d048
mov ecx, eax
push str._LTO_RODATA_
call fcn.00403ca0
jmp 0x412138
call fcn.0041d048
mov ecx, eax
push str._LTO_DATA_
call fcn.00403ca0
jmp 0x412138
call fcn.0041d048
mov ecx, eax
push str._____
call fcn.00403ca0
jmp 0x412138
mov ecx, edi
push 1
push 0x41f9c5
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
mov ecx, dword [edi + 0xc]
sub ecx, eax
cmp ecx, ebx
jae 0x412030
mov ecx, edi
push ebx
push dword [esp + 0x50]
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x41204a
test ebx, ebx
je 0x41204a
push ebx
push dword [esp + 0x50]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x10]
add eax, ebx
mov dword [edi + 0x10], eax
mov edx, dword [esp + 0x34]
cmp dword [edi + 0xc], eax
je 0x41205f
mov byte [eax], 0x2c
mov eax, dword [edi + 0x10]
inc eax
mov dword [edi + 0x10], eax
jmp 0x412076
mov ecx, edi
push 1
push 0x41e256
call fcn.0041cfca
mov edx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [eax + 0x10]
mov ecx, dword [edi + 0xc]
sub ecx, eax
cmp edx, ecx
jbe 0x412092
mov ecx, edi
push edx
push dword [esp + 0x68]
call fcn.0041cfca
mov edi, eax
mov eax, dword [eax + 0x10]
jmp 0x4120ae
test edx, edx
je 0x4120ae
push edx
push dword [esp + 0x68]
push eax
mov ebx, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, dword [edi + 0x10]
mov dword [edi + 0x10], ebx
mov eax, ebx
mov ecx, dword [edi + 0xc]
sub ecx, eax
cmp ecx, 1
ja 0x4120c8
mov ecx, edi
push 2
push 0x41fc94
call fcn.0041cfca
jmp 0x412138
mov word [eax], 0x2029
add dword [edi + 0x10], 2
jmp 0x412138
call fcn.0041d048
mov ecx, eax
push str.undefined__private_lazy_bound__
call fcn.00403ca0
jmp 0x412138
call fcn.0041d048
mov ecx, eax
push str.undefined__private__
call fcn.00403ca0
jmp 0x412138
call fcn.0041d048
mov ecx, eax
push str.undefined_
call fcn.00403ca0
jmp 0x412138
mov word [ecx + 4], 0x2029
mov dword [ecx], 0x3f2c3f28
add dword [eax + 0x10], 6
test byte [esp + 0x1c], 1
je 0x412138
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x412138
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp]
movzx ebx, byte [esp + 0xc]
test bl, 1
jne 0x41216f
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
test bl, 0x10
jne 0x412195
cmp edx, 0xc
ja 0x4121b1
mov ecx, eax
push 0xd
push str.non_external
call fcn.0041cfca
jmp 0x41237e
test al, 0x10
je 0x4121ee
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x18
ja 0x4121d2
mov ecx, eax
push 0x19
push str._referenced_dynamically_
call fcn.0041cfca
jmp 0x4121eb
cmp edx, 0x25
ja 0x412265
mov ecx, eax
push 0x26
push str.non_external__was_a_private_external_
call fcn.0041cfca
jmp 0x41237e
mov byte [ecx + 0xc], 0x20
mov dword [ecx + 8], 0x6c616e72
mov dword [ecx + 4], 0x65747865
mov dword [ecx], 0x2d6e6f6e
add dword [eax + 0x10], 0xd
jmp 0x41237e
movups xmm0, xmmword [0x41fd51]
movups xmmword [ecx + 9], xmm0
movups xmm0, xmmword [str._referenced_dynamically_]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x19
mov eax, dword [esp]
test byte [esp + 0xc], 0x10
jne 0x412236
test al, 0xc0
je 0x4122a8
and eax, 0xc0
cmp eax, 0xc0
jne 0x4122d1
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x22
ja 0x412327
mov ecx, eax
push 0x23
push str.weak_external_automatically_hidden
call fcn.0041cfca
jmp 0x41237e
mov ebx, eax
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
test bl, bl
js 0x412290
cmp edx, 0x10
ja 0x4122f6
mov ecx, eax
push 0x11
push str.private_external
call fcn.0041cfca
jmp 0x41237e
movsd xmm0, qword [0x41fde6]
movsd qword [ecx + 0x1e], xmm0
movups xmm0, xmmword [0x41fdd8]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.non_external__was_a_private_external_]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x26
jmp 0x41237e
cmp edx, 0x15
ja 0x41230a
mov ecx, eax
push 0x16
push str.weak_private_external
call fcn.0041cfca
jmp 0x41237e
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 8
ja 0x412349
mov ecx, eax
push 9
push str.external
call fcn.0041cfca
jmp 0x41237e
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xd
ja 0x412360
mov ecx, eax
push 0xe
push str.weak_external
call fcn.0041cfca
jmp 0x41237e
movups xmm0, xmmword [str.private_external]
movups xmmword [ecx], xmm0
mov byte [ecx + 0x10], 0x20
add dword [eax + 0x10], 0x11
jmp 0x41237e
movsd xmm0, qword [0x41fd70]
movsd qword [ecx + 0xe], xmm0
movups xmm0, xmmword [str.weak_private_external]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x16
jmp 0x41237e
movups xmm0, xmmword [0x41fd9b]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.weak_external_automatically_hidden]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x1f], 0x206e6564
add dword [eax + 0x10], 0x23
jmp 0x41237e
mov byte [ecx + 8], 0x20
mov dword [ecx + 4], 0x6c616e72
mov dword [ecx], 0x65747865
add dword [eax + 0x10], 9
jmp 0x41237e
mov word [ecx + 0xc], 0x206c
mov dword [ecx + 8], 0x616e7265
mov dword [ecx + 4], 0x74786520
mov dword [ecx], 0x6b616577
add dword [eax + 0x10], 0xe
cmp dword [esp + 0x6c], 1
mov eax, dword [esp]
jne 0x4124ad
test al, 0x20
je 0x4123c3
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xf
ja 0x4123b2
mov ecx, eax
push 0x10
push str._no_dead_strip_
call fcn.0041cfca
jmp 0x4123c0
movups xmm0, xmmword [str._no_dead_strip_]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x10
mov eax, dword [esp]
cmp byte [esp + 0xb], 0
je 0x4124ad
test eax, 0x100
jne 0x4123ec
test eax, 0x200
jne 0x41242c
test eax, 0x400
jne 0x412470
jmp 0x4124ad
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x11
ja 0x41240e
mov ecx, eax
push 0x12
push str._symbol_resolver_
call fcn.0041cfca
jmp 0x412422
movups xmm0, xmmword [str._symbol_resolver_]
movups xmmword [ecx], xmm0
mov word [ecx + 0x10], 0x205d
add dword [eax + 0x10], 0x12
mov eax, dword [esp]
test eax, 0x200
je 0x4123dc
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xb
ja 0x41244e
mov ecx, eax
push 0xc
push str._alt_entry_
call fcn.0041cfca
jmp 0x412466
mov dword [ecx + 8], 0x205d7972
mov dword [ecx + 4], 0x746e6520
mov dword [ecx], 0x746c615b
add dword [eax + 0x10], 0xc
mov eax, dword [esp]
test eax, 0x400
je 0x4124ad
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xb
ja 0x412492
mov ecx, eax
push 0xc
push str._cold_func_
call fcn.0041cfca
jmp 0x4124aa
mov dword [ecx + 8], 0x205d636e
mov dword [ecx + 4], 0x75662064
mov dword [ecx], 0x6c6f635b
add dword [eax + 0x10], 0xc
mov eax, dword [esp]
test al, 8
je 0x4124e4
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 7
ja 0x4124d3
mov ecx, eax
push 8
push str._Thumb_
call fcn.0041cfca
jmp 0x4124e4
mov dword [ecx + 4], 0x205d626d
mov dword [ecx], 0x7568545b
add dword [eax + 0x10], 8
call fcn.0041d048
movzx edx, byte [esi - 0x45]
test dl, 1
je 0x4124fa
mov edi, dword [esi - 0x3d]
mov edx, dword [esi - 0x41]
jmp 0x4124ff
lea edi, [esi - 0x44]
shr edx, 1
mov ecx, eax
push edx
push edi
call fcn.0041cfca
cmp byte [esp + 0xb], 0xa
jne 0x412678
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 5
ja 0x412530
mov ecx, eax
push 6
push str.__for
call fcn.0041cfca
jmp 0x412540
mov word [ecx + 4], 0x2072
mov dword [ecx], 0x6f662820
add dword [eax + 0x10], 6
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
cmp dword [esp + 0x90], 0xfffffffc
jae 0x412574
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 1
ja 0x4125d2
mov ecx, eax
jmp 0x4125c6
mov eax, dword [esi - 0x29]
test eax, eax
je 0x4125e0
mov edx, dword [esi - 0x25]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edx
sub esp, 0xc
movsd xmm0, qword [esp + 0xe8]
movsd qword [esp], xmm0
lea eax, [esp + 0x1c]
mov dword [esp + 8], eax
call fcn.0041d168
mov edi, eax
call fcn.0041d048
mov ebx, eax
test edi, edi
je 0x4125f6
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 1
ja 0x41261a
mov ecx, ebx
push 2
push 0x41fc40
jmp 0x412673
mov word [ecx], 0x293f
add dword [eax + 0x10], 2
jmp 0x412678
call fcn.0041d048
movzx edx, byte [esi - 1]
test dl, 1
je 0x412625
mov edi, dword [esi + 7]
mov edx, dword [esi + 3]
jmp 0x412629
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, edi
jae 0x412646
mov ecx, ebx
push edi
push edx
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x41265d
mov word [eax], 0x293f
add dword [ebx + 0x10], 2
jmp 0x412678
shr edx, 1
mov edi, esi
mov ecx, eax
push edx
push edi
call fcn.0041cfca
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x412642
mov byte [ecx], 0x29
inc dword [eax + 0x10]
jmp 0x412678
mov ecx, eax
jmp 0x41266c
test edi, edi
je 0x41265d
push edi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [ebx + 0x10]
mov dword [ebx + 0x10], edi
mov eax, edi
cmp dword [ebx + 0xc], eax
je 0x41266a
mov byte [eax], 0x29
inc dword [ebx + 0x10]
jmp 0x412678
mov ecx, ebx
push 1
push 0x41f967
call fcn.0041cfca
cmp byte [esp + 0x70], 0
jns 0x41269d
movzx edx, byte [esp + 0xb]
test dl, dl
sete al
mov ecx, dword [esp + 0x2c]
or dword [esp + 0x24], ecx
sete cl
cmp dl, 0xc
je 0x4126a7
and al, cl
jne 0x4126a7
call fcn.0041d048
jmp 0x410b7f
movzx edi, word [esp]
shr edi, 8
je 0x41269d
cmp edi, 0xfe
je 0x4126ee
cmp edi, 0xff
jne 0x41271c
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x11
ja 0x412772
mov ecx, eax
push 0x12
push str.__from_executable_
call fcn.0041cfca
call fcn.0041d048
jmp 0x410b7f
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x17
ja 0x412790
mov ecx, eax
push 0x18
push str.__dynamically_looked_up_
call fcn.0041cfca
call fcn.0041d048
jmp 0x410b7f
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
cmp dword [esp + 0x90], 0xfffffffc
jb 0x412750
lea eax, [edi - 1]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x10]
push edx
push eax
call fcn.0041d18c
test eax, eax
je 0x412803
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x1a
ja 0x4127b5
mov ecx, eax
push 0x1b
push str.__from_bad_library_ordinal
call fcn.0041cfca
jmp 0x4127ce
movups xmm0, xmmword [str.__from_executable_]
movups xmmword [ecx], xmm0
mov word [ecx + 0x10], 0x2965
add dword [eax + 0x10], 0x12
call fcn.0041d048
jmp 0x410b7f
movsd xmm0, qword [0x41fe6e]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.__dynamically_looked_up_]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x18
call fcn.0041d048
jmp 0x410b7f
movups xmm0, xmmword [0x41fe82]
movups xmmword [ecx + 0xb], xmm0
movups xmm0, xmmword [str.__from_bad_library_ordinal]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x1b
mov ecx, eax
push edi
call fcn.0041cfee
mov edi, eax
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
je 0x4127eb
mov byte [eax], 0x29
inc dword [edi + 0x10]
jmp 0x41269d
mov ecx, edi
push 1
push 0x41f967
call fcn.0041cfca
call fcn.0041d048
jmp 0x410b7f
call fcn.0041d048
mov ecx, eax
push str.__from
call fcn.00403ca0
mov edi, eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
sub edx, ecx
cmp edx, ebx
jae 0x412835
mov ecx, edi
push ebx
push eax
call fcn.0041cfca
jmp 0x4127d6
test ebx, ebx
je 0x4127d8
push ebx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [edi + 0x10], ebx
jmp 0x4127d8
mov ebx, dword [esp + 0xb4]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
jmp 0x412863
add edi, 0xffffff98
cmp edi, esi
je 0x41288b
test byte [edi - 0x10], 1
je 0x412878
push dword [edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [edi - 0x54], 1
je 0x412860
push dword [edi - 0x4c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x412860
mov dword [ebx + 4], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp eax, 1
jne case.0x41085b.3
mov edi, ebx
call fcn.0041d048
mov ebx, eax
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub ecx, eax
cmp ecx, 0xe
ja 0x4128ca
mov ecx, ebx
push 0xf
push str._n_nSymbols_from
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x4128ee
mov dword [eax + 0xb], 0x206d6f72
mov dword [eax + 8], 0x72662073
mov dword [eax + 4], 0x6c6f626d
mov dword [eax], 0x79530a0a
mov eax, dword [ebx + 0x10]
add eax, 0xf
mov dword [ebx + 0x10], eax
mov edx, dword [0x425a60]
mov esi, dword [0x425a64]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
cmp ecx, esi
jae 0x412913
mov ecx, ebx
push esi
push edx
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x41292a
test esi, esi
je 0x41292a
push esi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], esi
mov eax, esi
mov ecx, dword [ebx + 0xc]
sub ecx, eax
cmp ecx, 2
ja 0x412944
mov ecx, ebx
push 3
push 0x41fb06
call fcn.0041cfca
jmp 0x412951
mov byte [eax + 2], 0xa
mov word [eax], 0xa3a
add dword [ebx + 0x10], 3
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ebx, eax
call fcn.0041d048
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
test bl, bl
je 0x41298e
cmp edx, 0x36
mov ebx, edi
ja 0x412a27
mov ecx, eax
push 0x37
push str.Name__________________Value___________Class________Type
call fcn.0041cfca
mov ecx, dword [eax + 0x10]
jmp 0x412a5d
cmp edx, 0x2e
mov ebx, edi
ja 0x412a7e
mov ecx, eax
push 0x2f
push str.Name__________________Value___Class________Type
call fcn.0041cfca
mov ecx, dword [eax + 0x10]
jmp 0x412aa7
mov ecx, ebx
push 0xa
call fcn.0041cfd0
mov ebx, eax
mov edx, dword [0x425a60]
mov esi, dword [0x425a64]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, esi
jae 0x4129e2
mov ecx, ebx
push esi
push edx
call fcn.0041cfca
mov ebx, eax
mov eax, dword [eax + 0x10]
jmp 0x4129f9
test esi, esi
je 0x4129f9
push esi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], esi
mov eax, esi
mov ecx, dword [ebx + 0xc]
sub ecx, eax
cmp ecx, 1
ja 0x412a13
mov ecx, ebx
push 2
push 0x41fa19
call fcn.0041cfca
jmp 0x412a1c
mov word [eax], 0xa3a
add dword [ebx + 0x10], 2
mov ebx, edi
mov edi, dword [esp + 4]
jmp case.0x41085b.3
movsd xmm0, qword [0x41fb39]
movsd qword [ecx + 0x2f], xmm0
movups xmm0, xmmword [0x41fb2a]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [0x41fb1a]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.Name__________________Value___________Class________Type]
movups xmmword [ecx], xmm0
mov ecx, dword [eax + 0x10]
add ecx, 0x37
mov dword [eax + 0x10], ecx
mov edi, dword [esp + 4]
mov edx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 0x27
ja 0x412ac8
mov ecx, eax
push 0x28
push str._________Size_____________Line__Section_n
call fcn.0041cfca
jmp case.0x41085b.3
movups xmm0, xmmword [0x41fb8a]
movups xmmword [ecx + 0x1f], xmm0
movups xmm0, xmmword [0x41fb7b]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.Name__________________Value___Class________Type]
movups xmmword [ecx], xmm0
mov ecx, dword [eax + 0x10]
add ecx, 0x2f
mov dword [eax + 0x10], ecx
mov edi, dword [esp + 4]
mov edx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 0x1f
ja 0x412af3
mov ecx, eax
push 0x20
push str._________Size_____Line__Section_n
call fcn.0041cfca
jmp case.0x41085b.3
movsd xmm0, qword [0x41fb62]
movsd qword [ecx + 0x20], xmm0
movups xmm0, xmmword [0x41fb52]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str._________Size_____________Line__Section_n]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x28
jmp case.0x41085b.3
movups xmm0, xmmword [0x41fbab]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str._________Size_____Line__Section_n]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x20
jmp case.0x41085b.3
lea ecx, [esp + 0x38]
call fcn.00407af0
int3