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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov esi, edx
mov edi, ecx
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x18], 0x554c58
mov dword [esp + 0x1c], 6
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov dword [esp + 0xa0], ecx
call dword [eax + 0x7c]
sub esp, 8
mov ecx, dword [edi + 0x38]
mov dword [esp], esi
call fcn.00550b88
sub esp, 4
mov ebx, edx
mov dword [esp + 0x24], edi
mov edx, dword [edi + 0x38]
mov esi, eax
test eax, eax
je 0x41619e
movzx ecx, word [esi + 0xc]
cmp ecx, 0xfeff
jbe 0x4161a1
movsx ecx, cx
jmp 0x4161a1
mov ecx, dword [ebx + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], edx
lea ecx, [esp + 0x68]
call fcn.00550b70
sub esp, 8
test byte [esp + 0x6c], 1
jne 0x41620d
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], ebx
movsd xmm0, qword [esp + 0x12c]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x18]
call fcn.00550b8e
sub esp, 0xc
test byte [esp + 0x20], 1
jne 0x416266
movsd xmm0, qword [esp + 0x18]
movaps xmmword [esp + 0x80], xmm0
jmp 0x416286
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x90]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x17
ja 0x4162e6
mov dword [esp + 4], 0x18
mov dword [esp], str.Invalid_section_number:
mov ecx, eax
call fcn.005507d4
sub esp, 8
test esi, esi
je 0x416309
movzx ecx, word [esi + 0xc]
cmp ecx, 0xfeff
jbe 0x41630c
movsx ecx, cx
jmp 0x41630c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x80], xmm0
test ecx, ecx
je 0x416286
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x64]
test esi, esi
je 0x416352
movzx eax, word [esi + 0xc]
cmp eax, 0xfeff
jbe 0x41629e
cwde
test ecx, ecx
je 0x41635d
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], eax
lea ecx, [esp + 0x18]
call fcn.00550b9a
sub esp, 8
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x58], esi
test al, 1
mov dword [esp + 0x50], ebx
jne 0x41632c
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
jmp 0x416422
movsd xmm0, qword [0x554c84]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.Invalid_section_number:]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x18
test esi, esi
jne 0x41624e
mov ecx, dword [ebx + 0xc]
mov dword [esp], ecx
mov ecx, eax
call fcn.0055080a
sub esp, 4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x416397
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x4163b0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], 0
test ecx, ecx
je 0x416412
mov dword [esp + 0x48], 0
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41641a
mov eax, dword [ebx + 0xc]
test ecx, ecx
jne 0x4162a6
test eax, eax
je 0x416711
cmp eax, 0xffffffff
je 0x416731
cmp eax, 0xfffffffe
jne 0x416751
movzx eax, byte [esp + 0x20]
and al, 0xfe
mov byte [esp + 0x20], al
mov dword [esp + 0x18], str.IMAGE_SYM_DEBUG
mov dword [esp + 0x1c], 0xf
jmp 0x4162c5
mov dword [esp + 4], 1
mov dword [esp], 0x554118
mov ecx, eax
call fcn.005507d4
sub esp, 8
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x10]
cmp eax, dword [ecx + 8]
je 0x4163c7
call fcn.005507c8
xor eax, eax
test byte [esp + 0x6c], 1
je 0x4163dc
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.004077c0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x417597
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x417597
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x124], 0x554582
mov dword [esp + 0x128], 4
movaps xmm0, xmmword [esp + 0x80]
movlps qword [esp + 0x134], xmm0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x134]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x124]
movsd qword [esp], xmm0
call dword [eax + 0x74]
sub esp, 0x10
mov edi, dword [esp + 0x58]
test edi, edi
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x11c], 0x554c8d
mov dword [esp + 0x120], 5
mov eax, edi
mov ebx, dword [esp + 0x50]
cmove eax, ebx
mov dword [esp + 0x9c], eax
mov eax, dword [eax + 8]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x20]
sub esp, 0xc
mov esi, dword [esi + 0x20]
test edi, edi
je 0x4164d5
movzx eax, word [edi + 0xc]
cmp eax, 0xfeff
jbe 0x4164d8
cwde
jmp 0x4164d8
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x70], eax
mov dword [esp + 0x28], 0x554573
mov dword [esp + 0x2c], 7
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.004179b0
movzx eax, byte [esp + 0x18]
mov ecx, eax
shr ecx, 1
test al, 1
lea edx, [esp + 0x19]
mov eax, dword [esp + 0x20]
cmove eax, edx
cmovne ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esi]
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
mov ecx, esi
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x18], 1
je 0x416576
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov edi, dword [esp + 0x58]
lea edx, [edi + 0xe]
mov eax, dword [esp + 0x50]
add eax, 0x10
test edi, edi
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x20]
cmove edx, eax
mov dword [esp + 0x98], edx
movzx ebx, byte [edx]
and bl, 0xf
mov edx, 0x554dc8
movzx eax, bl
cmp bl, 0xf
je 0x4165b1
mov edx, dword [eax*4 + 0x556b00]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], str.BaseType
mov dword [esp + 0x1c], 8
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xac]
sub esp, 0x18
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [esp + 0x98]
mov ah, byte [eax]
mov al, ah
shr al, 4
mov edx, 0x554de8
cmp ah, 0x10
mov ebx, dword [esp + 0x50]
jb 0x41663e
mov edx, eax
dec dl
cmp dl, 3
jae 0x41669a
movsx edx, dl
mov edx, dword [edx*4 + 0x556b3c]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], str.ComplexType
mov dword [esp + 0x1c], 0xb
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
movzx eax, al
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xac]
sub esp, 0x18
jmp 0x4166db
mov dword [esp + 0x18], str.ComplexType
mov dword [esp + 0x1c], 0xb
movzx eax, al
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
lea edx, [edi + 0x10]
lea eax, [ebx + 0x12]
test edi, edi
cmove edx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x48], edx
movzx edx, byte [edx]
movzx eax, dl
cmp edx, 0x6b
ja case.0x416700.19
jmp dword [edx*4 + 0x556ef0]
mov edx, 0x554e5c
jmp 0x416891
movzx eax, byte [esp + 0x20]
and al, 0xfe
mov byte [esp + 0x20], al
mov dword [esp + 0x18], str.IMAGE_SYM_UNDEFINED
mov dword [esp + 0x1c], 0x13
jmp 0x4162c5
movzx eax, byte [esp + 0x20]
and al, 0xfe
mov byte [esp + 0x20], al
mov dword [esp + 0x18], str.IMAGE_SYM_ABSOLUTE
mov dword [esp + 0x1c], 0x12
jmp 0x4162c5
movzx eax, byte [esp + 0x20]
and al, 0xfe
mov byte [esp + 0x20], al
mov dword [esp + 0x18], 0x5551f6
mov dword [esp + 0x1c], 0
jmp 0x4162c5
mov edx, 0x554e70
jmp 0x416891
mov edx, 0x554e84
jmp 0x416891
mov edx, 0x554e98
jmp 0x416891
mov edx, 0x554eac
jmp 0x416891
mov edx, 0x554ec0
jmp 0x416891
mov edx, 0x554ed4
jmp 0x416891
mov edx, 0x554ee8
jmp 0x416891
mov edx, 0x554efc
jmp 0x416891
mov edx, 0x554f10
jmp 0x416891
mov edx, 0x554f24
jmp 0x416891
mov edx, 0x554f38
jmp 0x416891
mov edx, 0x554f4c
jmp 0x416891
mov edx, 0x554f60
jmp 0x416891
mov edx, 0x554f74
jmp 0x416891
mov edx, 0x554f88
jmp 0x416891
mov edx, 0x554f9c
jmp 0x416891
mov edx, 0x554fb0
jmp 0x416891
mov edx, 0x554fc4
jmp 0x416891
mov dword [esp + 0x18], 0x554e38
mov dword [esp + 0x1c], 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
jmp 0x4168e8
mov edx, 0x554fd8
jmp 0x416891
mov edx, 0x554fec
jmp 0x416891
mov edx, 0x555000
jmp 0x416891
mov edx, 0x555014
jmp 0x416891
mov edx, 0x555028
jmp 0x416891
mov edx, 0x55503c
jmp 0x416891
mov edx, 0x555050
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], 0x554e38
mov dword [esp + 0x1c], 0xc
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xac]
sub esp, 0x18
lea esi, [edi + 0x11]
lea eax, [ebx + 0x13]
test edi, edi
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x114], str.AuxSymbolCount
mov dword [esp + 0x118], 0xe
cmove esi, eax
movzx eax, byte [esi]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0x114]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x10]
sub esp, 0xc
mov dword [esp + 0x54], esi
cmp byte [esi], 0
je 0x417597
mov dword [esp + 0x80], 0
jmp 0x416982
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x80]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
inc ecx
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mov dword [esp + 0x80], ecx
cmp ecx, eax
jae 0x417597
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
cmp eax, 0x66
jle 0x416b50
cmp eax, 0x69
je 0x416dd0
cmp eax, 0x6b
jne 0x416d29
mov eax, edi
mov edi, dword [esp + 0x24]
mov esi, dword [edi + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00550bb2
sub esp, 8
mov dword [esp + 0xa4], eax
xor ebx, ebx
cmp dword [esi + 0x18], 0
sete bl
call fcn.00550f60
lea esi, [ebx*2 + 0x12]
imul esi, dword [esp + 0x80]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x18], str.AuxCLRToken
mov dword [esp + 0x1c], 0xb
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov dword [esp + 0x44], ecx
call dword [eax + 0x7c]
sub esp, 8
mov ecx, dword [edi + 0x20]
mov dword [esp + 0xbc], str.AuxType
mov dword [esp + 0xc0], 7
mov ebx, dword [esp + 0xa4]
movzx eax, byte [ebx + esi]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0xbc]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x10]
sub esp, 0xc
mov ecx, dword [edi + 0x20]
mov dword [esp + 0xb4], 0x554104
mov dword [esp + 0xb8], 8
movzx eax, byte [ebx + esi + 1]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0xb4]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x10]
sub esp, 0xc
mov eax, dword [edi + 0x20]
mov dword [esp + 0x4c], eax
mov edx, dword [ebx + esi + 2]
mov ecx, edi
call fcn.004177b0
mov ecx, dword [ebx + esi + 2]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x28], str.SymbolTableIndex
mov dword [esp + 0x2c], 0x10
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.00417ac0
movzx eax, byte [esp + 0x18]
mov ecx, eax
shr ecx, 1
test al, 1
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x19]
cmove eax, edx
cmovne ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x18], 1
je 0x416b3c
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov ecx, dword [esp + 0x44]
jmp 0x416954
cmp eax, 2
je 0x416b63
cmp eax, 3
je 0x416fe0
jmp 0x416d90
mov eax, dword [esp + 0x98]
movzx eax, byte [eax]
test al, 0xf
jne 0x416d3e
and al, 0xf0
cmp al, 0x20
jne 0x416d3e
test edi, edi
je 0x416d33
movzx eax, word [edi + 0xc]
cmp eax, 0xfeff
ja 0x416d7a
test eax, eax
jle 0x416d3e
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00550bb2
sub esp, 8
mov dword [esp + 0x4c], eax
xor ebx, ebx
cmp dword [esi + 0x18], 0
sete bl
call fcn.00550f60
lea edi, [ebx*2 + 0x12]
mov ebx, dword [esp + 0x50]
imul edi, dword [esp + 0x80]
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x18], str.AuxFunctionDef
mov dword [esp + 0x1c], 0xe
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0x7c]
sub esp, 8
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x10c], str.TagIndex
mov dword [esp + 0x110], 8
mov esi, dword [esp + 0x4c]
mov eax, dword [esi + edi]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0x10c]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x20]
sub esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x104], str.TotalSize
mov dword [esp + 0x108], 9
mov eax, dword [esi + edi + 4]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0x104]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x20]
sub esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi + edi + 8]
mov dword [esp + 0x18], str.PointerToLineNumber
mov dword [esp + 0x1c], 0x13
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi + edi + 0xc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x18], str.PointerToNextFunction
mov dword [esp + 0x1c], 0x15
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov ecx, dword [esp + 0x44]
jmp 0x416fc6
cmp eax, 0x67
jne 0x416d90
jmp 0x417455
mov eax, dword [ebx + 0xc]
test eax, eax
jg 0x416b9e
test edi, edi
je 0x416d53
movzx eax, word [edi + 0xc]
cmp eax, 0xfeff
ja 0x416d7a
test eax, eax
jne 0x416d67
jmp 0x416d5a
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x416d67
mov eax, dword [esp + 0x9c]
cmp dword [eax + 8], 0
je 0x416dd0
test edi, edi
je 0x416fd3
movzx eax, word [edi + 0xc]
cmp eax, 0xff00
jb 0x416d90
cwde
cmp eax, 0xffffffff
je 0x416fe0
nop word cs:[eax + eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x90]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0x1c
ja 0x416f5e
mov dword [esp + 4], 0x1d
mov dword [esp], str._unhandled_auxiliary_record__n
mov ecx, eax
call fcn.005507d4
sub esp, 8
jmp 0x416964
mov eax, ebx
mov ebx, dword [esp + 0x24]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00550bb2
sub esp, 8
xor ecx, ecx
cmp dword [esi + 0x18], 0
mov esi, eax
sete cl
lea edi, [ecx*2 + 0x12]
imul edi, dword [esp + 0x80]
call fcn.00550f60
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x18], str.AuxWeakExternal
mov dword [esp + 0x1c], 0xf
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov dword [esp + 0x4c], ecx
call dword [eax + 0x7c]
sub esp, 8
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x44], eax
mov edx, dword [esi + edi]
mov ecx, ebx
call fcn.004177b0
mov ecx, dword [esi + edi]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x28], str.Linked
mov dword [esp + 0x2c], 6
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.00417ac0
movzx eax, byte [esp + 0x18]
mov ecx, eax
shr ecx, 1
test al, 1
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x19]
cmove eax, edx
cmovne ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x18], 1
je 0x416eeb
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi + edi + 4]
lea edx, [eax - 1]
cmp edx, 3
ja 0x416f7c
mov edx, dword [eax*4 + 0x556b44]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], str.Search
mov dword [esp + 0x1c], 6
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xac]
sub esp, 0x18
jmp 0x416fba
movups xmm0, xmmword [0x5551a7]
movups xmmword [ecx + 0xd], xmm0
movups xmm0, xmmword [str._unhandled_auxiliary_record__n]
movups xmmword [ecx], xmm0
add dword [eax + 0x10], 0x1d
jmp 0x416964
mov dword [esp + 0x18], str.Search
mov dword [esp + 0x1c], 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x416964
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
jne 0x416d90
nop
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00550bb2
sub esp, 8
xor ecx, ecx
cmp dword [esi + 0x18], 0
mov ebx, eax
sete cl
mov esi, edi
lea edi, [ecx*2 + 0x12]
imul edi, dword [esp + 0x80]
call fcn.00550f60
test esi, esi
je 0x417034
movzx eax, word [ebx + edi + 0xc]
mov dword [esp + 0x44], eax
jmp 0x417047
movzx eax, word [ebx + edi + 0xc]
movzx ecx, word [ebx + edi + 0x10]
shl ecx, 0x10
or ecx, eax
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x18], str.AuxSectionDef
mov dword [esp + 0x1c], 0xd
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov dword [esp + 0x4c], ecx
call dword [eax + 0x7c]
sub esp, 8
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xec], 0x555157
mov dword [esp + 0xf0], 6
mov eax, dword [ebx + edi]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0xec]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x20]
sub esp, 0xc
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xe4], 0x5545e9
mov dword [esp + 0xe8], 0xf
movzx eax, word [ebx + edi + 4]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0xe4]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x18]
sub esp, 0xc
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xdc], str.LineNumberCount
mov dword [esp + 0xe0], 0xf
movzx eax, word [ebx + edi + 6]
mov edx, dword [ecx]
movsd xmm0, qword [esp + 0xdc]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call dword [edx + 0x18]
sub esp, 0xc
mov ecx, dword [esi + 0x20]
mov eax, dword [ebx + edi + 8]
mov dword [esp + 0x18], str.Checksum
mov dword [esp + 0x1c], 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xd4], str.Number
mov dword [esp + 0xd8], 6
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0xd4]
movsd qword [esp], xmm0
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
call dword [eax + 0x1c]
sub esp, 0xc
mov ecx, dword [esi + 0x20]
movzx eax, byte [ebx + edi + 0xe]
mov edx, eax
dec dl
cmp dl, 6
ja 0x417219
movsx edx, dl
mov edx, dword [edx*4 + 0x556b58]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], str.Selection
mov dword [esp + 0x1c], 9
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
movzx eax, al
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xac]
sub esp, 0x18
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x417266
jmp 0x416950
mov dword [esp + 0x18], str.Selection
mov dword [esp + 0x1c], 9
movzx eax, al
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov eax, dword [esp + 0x64]
test eax, eax
je 0x416950
test byte [eax + 0x25], 0x10
je 0x416950
cmp byte [ebx + edi + 0xe], 5
jne 0x416950
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov esi, dword [esp + 0x44]
mov dword [esp + 4], esi
mov dword [esp], eax
lea ecx, [esp + 0x78]
call fcn.00550b70
sub esp, 8
test byte [esp + 0x7c], 1
jne 0x4175ca
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4173c7
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ecx
lea ecx, [esp + 0x28]
call fcn.00550b9a
sub esp, 8
movzx eax, byte [esp + 0x30]
test al, 1
jne 0x417615
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x38], str.AssocSection
mov dword [esp + 0x3c], 0xc
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.004179b0
movzx eax, byte [esp + 0x18]
mov ecx, eax
shr ecx, 1
test al, 1
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x19]
cmove eax, edx
cmovne ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [ebx]
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esp], xmm0
mov ecx, ebx
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x18], 1
je 0x417382
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
test byte [esp + 0x30], 1
je 0x41739e
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x28], 0
test ecx, ecx
je 0x41739e
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x7c], 1
je 0x416950
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x78], 0
test ecx, ecx
je 0x416950
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x416950
test esi, esi
je 0x4173f5
cmp esi, 0xffffffff
je 0x417415
cmp esi, 0xfffffffe
jne 0x417435
movzx eax, byte [esp + 0x30]
and al, 0xfe
mov byte [esp + 0x30], al
mov dword [esp + 0x28], str.IMAGE_SYM_DEBUG
mov dword [esp + 0x2c], 0xf
jmp 0x4172cf
movzx eax, byte [esp + 0x30]
and al, 0xfe
mov byte [esp + 0x30], al
mov dword [esp + 0x28], str.IMAGE_SYM_UNDEFINED
mov dword [esp + 0x2c], 0x13
jmp 0x4172cf
movzx eax, byte [esp + 0x30]
and al, 0xfe
mov byte [esp + 0x30], al
mov dword [esp + 0x28], str.IMAGE_SYM_ABSOLUTE
mov dword [esp + 0x2c], 0x12
jmp 0x4172cf
movzx eax, byte [esp + 0x30]
and al, 0xfe
mov byte [esp + 0x30], al
mov dword [esp + 0x28], 0x5551f6
mov dword [esp + 0x2c], 0
jmp 0x4172cf
mov esi, dword [esp + 0x24]
mov eax, edi
mov edi, dword [esi + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov ecx, edi
call fcn.00550bb2
sub esp, 8
mov dword [esp + 0x48], eax
xor ebx, ebx
cmp dword [edi + 0x18], 0
sete bl
call fcn.00550f60
lea edi, [ebx*2 + 0x12]
imul edi, dword [esp + 0x80]
add edi, dword [esp + 0x48]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x18], str.AuxFileRecord
mov dword [esp + 0x1c], 0xd
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0x7c]
sub esp, 8
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mov ecx, dword [esi + 0x38]
xor edx, edx
cmp dword [ecx + 0x18], 0
sete dl
lea ebx, [edx*2 + 0x12]
imul ebx, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
mov edi, dword [esi + 0x20]
mov dword [esp + 0xfc], 0x55513e
mov dword [esp + 0x100], 8
mov dword [esp + 0x18], 0x555147
mov dword [esp + 0x1c], 1
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
mov dword [esp + 8], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.00550f06
sub esp, 0xc
inc eax
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
cmovae eax, ecx
mov edx, ecx
sub edx, ebx
add edx, eax
cmp ecx, edx
cmovb edx, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], edx
mov eax, dword [edi]
movsd xmm0, qword [esp + 0xf4]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xfc]
movsd qword [esp], xmm0
mov ecx, edi
call dword [eax + 0x74]
sub esp, 0x10
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x80]
test byte [esp + 0x6c], 1
je 0x4175b3
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x68], 0
test ecx, ecx
je 0x4175b3
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx]
call dword [eax + 0x80]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x38]
call fcn.00550e34
mov dword [esp + 0xd0], edx
mov dword [esp + 0xcc], eax
movsd xmm0, qword [esp + 0xcc]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0xac]
mov dword [esp], eax
call fcn.0052da00
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x38]
call fcn.00550e34
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], eax
movsd xmm0, qword [esp + 0xc4]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.0052da00