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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xb8
mov ebx, edx
mov dword [ebp - 0x90], ecx
mov ecx, 0x4b
xor edx, edx
mov dword [ebp - 0x44], 0
call fcn.00480164
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0
mov edx, dword [ebx + 0x9c]
test edx, edx
je 0x433ecc
lea ecx, [ebx + 0x9c]
jmp 0x433edb
cmp dword [ebx + 0x44], 0
lea ecx, [ebx + 0x44]
lea eax, [ebx + 0x38]
cmove ecx, eax
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0x24]
add eax, edx
push eax
call fcn.004ba2b7
add esp, 4
cmp byte [ebp + 8], 0
mov dword [ebp - 0x10], ebx
je 0x434003
mov eax, ebx
mov ebx, dword [ebx + 0x100]
mov esi, dword [eax + 0x108]
mov ecx, esi
call fcn.0041f15b
cmp edx, esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], 0
jb 0x4347f2
xor edx, edx
test esi, esi
je 0x433f48
add ebx, 4
mov ecx, dword [ebx - 4]
mov edi, dword [ebx]
add ebx, 8
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
inc edx
dec esi
jne 0x433f35
movsd xmm0, qword [ebp - 0x84]
mov eax, 0x20
test edx, edx
mov esi, 0x20
mov dword [ebp - 0x2c], edx
movsd qword [ebp - 0x34], xmm0
mov ecx, dword [ebp - 0x34]
je 0x433f6f
bsr esi, edx
xor esi, 0x1f
sub eax, esi
xor edi, edi
push eax
push edi
call fcn.00424942
add esp, 8
lea esi, [ebp - 0x34]
mov ecx, esi
call fcn.0042758e
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub esp, 0x18
mov ebx, dword [ebp - 0x10]
lea esi, [ebp - 0xbc]
mov dword [ebp - 0x14], ecx
mov dword [esp], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov ecx, esi
mov edx, ebx
call fcn.004319c8
add esp, 0x18
mov edi, dword [esi + 0xc]
test edi, edi
je 0x434018
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
xor esi, esi
cmp eax, ecx
mov edx, ecx
cmovb edx, esi
mov esi, ecx
sub eax, edx
sub esi, eax
lea edx, [eax + edi]
sub edi, esi
mov esi, dword [ebp - 0xbc]
cmova edx, ecx
mov ecx, 0
cmovbe edi, ecx
cmp eax, edx
jne 0x43402c
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
xor eax, eax
jmp 0x43409a
xor eax, eax
mov dword [ebp - 0x88], 0
inc eax
mov dword [ebp - 0x28], eax
jmp 0x434116
xor eax, eax
mov dword [ebp - 0x44], 0
xor ecx, ecx
inc eax
mov dword [ebp - 0x28], eax
jmp 0x4340ef
lea eax, [eax + eax*2]
xor ecx, ecx
mov dword [ebp - 0x18], edi
lea ebx, [esi + eax*4]
lea eax, [edx + edx*2]
lea edx, [ebp - 0x40]
lea eax, [esi + eax*4]
mov dword [edx], 1
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov ecx, 0xaaaaaaab
sub eax, ebx
mul ecx
mov edi, edx
shr edi, 3
mov eax, dword [ebp - 0x38]
movsd xmm0, qword [ebp - 0x40]
lea ecx, [ebp - 0x40]
lea edx, [ebp - 0x84]
mov dword [ebp - 0x7c], eax
movsd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x78], ebx
push ebx
call fcn.00420074
add esp, 4
add ebx, 0xc
dec edi
jne 0x43405a
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
test edi, edi
mov dword [ebp - 0x44], eax
je 0x4340ef
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x40]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x44]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x38]
movsd xmm0, qword [ebp - 0x40]
lea ecx, [ebp - 0x40]
lea edx, [ebp - 0x84]
mov dword [ebp - 0x7c], eax
movsd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x78], esi
push esi
call fcn.00420074
add esp, 4
add esi, 0xc
dec edi
jne 0x4340b2
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x88], ecx
je 0x43410b
push dword [ebp - 0x14]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ecx, [ebp - 0xbc]
call fcn.00433e1e
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x434292
mov esi, dword [ebx + 0xc4]
imul eax, eax, 0x78
add eax, esi
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x43416e
mov ecx, dword [esi + 8]
cmp ecx, 7
je 0x434153
cmp ecx, 4
jne 0x43416e
cmp dword [eax], 0x706c6568
jne 0x43416e
jmp 0x434258
mov ecx, dword [eax]
mov eax, dword [eax + 3]
mov edx, 0x73726576
mov edi, 0x6e6f6973
xor ecx, edx
xor eax, edi
or eax, ecx
je 0x434258
lea ecx, [ebp - 0x84]
mov edx, ebx
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.00434e0b
add esp, 8
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x434234
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x43421d
lea eax, [ecx + eax*8]
mov edx, dword [ebx + 0xe8]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0xf0]
shl eax, 4
lea edi, [eax + eax*2]
mov eax, ecx
mov dword [ebp - 0x50], edi
mov esi, eax
add eax, 8
mov dword [ebp - 0x4c], eax
mov eax, edx
mov dword [ebp - 0x14], esi
test edi, edi
je 0x43420c
mov ebx, eax
mov eax, dword [eax + 4]
cmp eax, dword [esi + 4]
jne 0x4341f8
push eax
push dword [esi]
push dword [ebx]
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
mov esi, dword [ebp - 0x14]
add esp, 0xc
test eax, eax
sete cl
jmp 0x4341fa
xor ecx, ecx
add edi, 0xffffffd0
lea eax, [ebx + 0x30]
test cl, cl
je 0x4341cf
cmp byte [ebx + 0x2c], 0
je 0x4341cf
jmp 0x43423c
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x54]
jne 0x4341c2
cmp dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x18]
je 0x434234
push ecx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
test byte [esi + 0x44], 0x10
jne 0x434258
jmp 0x434266
cmp dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x18]
je 0x434255
push dword [ebp - 0x48]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [ebp - 0x10]
add esi, 0x78
cmp esi, dword [ebp - 0x5c]
jne 0x434132
jmp 0x434292
test byte [ebx], 0x20
jne 0x43427b
lea eax, [0x548d89]
lea ecx, [ebp - 0x24]
mov edx, 0x548d81
jmp 0x434289
lea eax, [0x548d81]
lea ecx, [ebp - 0x24]
mov edx, 0x548d77
push eax
call fcn.004ba2b7
add esp, 4
test byte [ebx], 0x20
jne 0x4342d6
mov ecx, dword [ebx + 0xd0]
imul eax, dword [ebx + 0xd8], 0x110
test eax, eax
je 0x4342d6
add eax, 0xfffffef0
test byte [ecx + 0xdc], 0x11
lea ecx, [ecx + 0x110]
jne 0x4342a7
lea eax, [0x548d81]
lea ecx, [ebp - 0x24]
mov edx, 0x548d77
push eax
call fcn.004ba2b7
add esp, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x24]
add eax, edx
push eax
call fcn.004ba2b7
add esp, 4
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
xor edx, edx
test eax, eax
mov edi, eax
setne dl
je 0x434307
mov edi, dword [ebx + 0x12c]
lea esi, [ebp - 0x84]
xor ebx, ebx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edi
mov ecx, esi
call fcn.0041db15
test eax, eax
setne al
test edx, edx
setne cl
and cl, al
cmp cl, 1
jne 0x43434a
test byte [edx + 0xbd], 0x40
je 0x434329
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x54], cl
mov ecx, dword [ebx + 0xd0]
imul eax, dword [ebx + 0xd8], 0x110
test eax, eax
je 0x434439
add eax, 0xfffffef0
test byte [ecx + 0xdc], 2
lea ecx, [ecx + 0x110]
je 0x434360
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
xor edx, edx
test eax, eax
mov edi, eax
setne dl
je 0x434399
mov edi, dword [ebx + 0x12c]
lea esi, [ebp - 0x84]
xor ebx, ebx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov ebx, dword [ebp - 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edi
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x434439
test edx, edx
je 0x434439
test byte [edx + 0xbc], 1
jne 0x4343be
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x434412
mov eax, dword [ebx + 0xdc]
imul ecx, ecx, 0x138
add eax, 0x40
cmp dword [eax], 4
jne 0x4343ff
mov edx, dword [eax - 8]
cmp dword [edx], 0x706c6568
je 0x434405
test byte [eax - 0x3f], 0x10
je 0x434439
add eax, 0x138
add ecx, 0xfffffec8
jne 0x4343ef
mov cl, byte [ebp - 0x54]
test byte [ebx + 1], 0x80
sete al
not cl
test cl, al
je 0x434439
lea eax, [0x548de8]
lea ecx, [ebp - 0x24]
mov edx, 0x548de3
push eax
call fcn.004ba2b7
add esp, 4
mov eax, dword [ebx + 0x12c]
test eax, eax
je 0x434cab
mov ecx, dword [ebx + 0x124]
mov edx, dword [ebx + 0x128]
xor ebx, ebx
lea esi, [ebp - 0x84]
test ecx, ecx
setne bl
cmove eax, ecx
xor edi, edi
mov dword [esi], ebx
mov dword [esi + 4], edi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x43460f
test edx, edx
je 0x43460f
mov eax, dword [edx + 0xbc]
mov ecx, eax
and ecx, 0x4001
cmp ecx, 1
je 0x43447f
and eax, 0x10
jne 0x43447f
mov ebx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
test eax, eax
mov esi, eax
setne dl
je 0x4344ce
mov esi, dword [ebx + 0x12c]
mov dword [ebp - 0x14], esi
lea esi, [ebp - 0x84]
xor edi, edi
mov dword [ebp - 0x50], 0
mov dword [esi], edx
mov dword [esi + 4], edi
xor edi, edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x20], ecx
lea ecx, [ebp - 0x84]
call fcn.0041db15
test eax, eax
je 0x434617
mov esi, edx
test edx, edx
je 0x434617
movzx eax, word [esi + 0xbc]
test eax, 0x4011
jne 0x4344ff
lea ecx, [ebp - 0xbc]
mov edx, ebx
push dword [esi + 0x9c]
push dword [esi + 0x98]
call fcn.00434e0b
add esp, 8
mov eax, dword [ebp - 0xbc]
test eax, eax
mov dword [ebp - 0x4c], eax
je 0x4345e5
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x4345cc
mov esi, dword [ebp - 0x4c]
lea eax, [esi + eax*8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + 0xf0]
mov dword [ebp - 0x14], eax
shl eax, 4
mov dword [ebp - 0x58], ecx
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x14], 0
je 0x4345c4
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
cmp byte [ebx + 0x2c], 0
je 0x4345bc
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 4]
jne 0x4345bc
push eax
push dword [esi]
push dword [ebx]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4345ed
add ebx, 0x30
add edi, 0xffffffd0
jne 0x43459d
add esi, 8
cmp esi, dword [ebp - 0x18]
jne 0x434591
cmp dword [ebp - 0x48], 0
mov ebx, dword [ebp - 0x10]
je 0x4345e5
push dword [ebp - 0x4c]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
inc dword [ebp - 0x50]
jmp 0x4344ff
cmp dword [ebp - 0x48], 0
mov ebx, dword [ebp - 0x10]
je 0x4344ff
push dword [ebp - 0x4c]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x4344ff
mov ebx, dword [ebp - 0x10]
jmp 0x434cab
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x50]
bt eax, 0x1e
jb 0x43462b
cmp ecx, 1
jg 0x434aaa
cmp ecx, 1
jne 0x43475a
cmp byte [ebp + 8], 0
je 0x43475a
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
xor edx, edx
test eax, eax
mov esi, eax
setne dl
je 0x43465b
mov esi, dword [ebx + 0x12c]
lea edi, [ebp - 0x84]
xor ebx, ebx
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], esi
mov ecx, edi
call fcn.0041db15
test eax, eax
je 0x434df2
mov esi, edx
test edx, edx
je 0x434df2
movzx eax, word [esi + 0xbc]
test eax, 0x4011
jne 0x43467d
lea edi, [ebp - 0x40]
mov edx, esi
mov ecx, edi
call fcn.00420235
cmp dword [esi + 0x30], 0
mov eax, 2
sete cl
cmp dword [esi + 0x3c], eax
setb dl
or dl, cl
mov ecx, dword [esi + 0xbc]
mov esi, str.failed_to_write_whole_buffer
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], 0x452d13
and ecx, eax
shr ecx, 1
and cl, dl
mov edx, 0x596b55
movzx ecx, cl
cmovne esi, edx
lea edx, [ebp - 0xc4]
lea ecx, [ecx + ecx*2]
mov dword [edx], esi
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], 0x41de0f
mov dword [edx + 4], ecx
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0xbc]
mov dword [edx], 0x548e48
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x34]
mov dword [edx + 0xc], eax
call fcn.0041bb50
mov eax, dword [edi]
test eax, eax
je 0x434752
cmp dword [ebp - 0x3c], 0
je 0x434752
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [ebp - 0x10]
jmp 0x434a79
bt eax, 0x1e
jae 0x4347d5
mov eax, dword [ebx + 0x12c]
test eax, eax
je 0x4347d5
cmp byte [ebp + 8], 0
je 0x4347d5
mov ecx, dword [ebx + 0x124]
mov esi, dword [ebx + 0x128]
xor ebx, ebx
lea edx, [ebp - 0x84]
test ecx, ecx
setne bl
cmove eax, ecx
xor edi, edi
mov dword [edx], ebx
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
mov dword [edx + 0xc], esi
mov dword [edx + 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [edx + 0x14], edi
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], esi
lea esi, [ebp - 0xbc]
mov dword [edx + 0x20], eax
mov ecx, esi
call fcn.0042010f
mov edx, dword [esi]
lea ecx, [ebp - 0x34]
push edi
push str.failed_to_write_whole_buffer
push dword [esi + 8]
call fcn.0041e588
add esp, 0xc
mov ecx, esi
jmp 0x434a74
cmp byte [ebp + 8], 0
je 0x43480f
xor edx, edx
xor eax, eax
lea ecx, [ebp - 0x24]
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
push edx
jmp 0x434ab9
lea edi, [ebp - 0x84]
xor edx, edx
mov ecx, edi
push esi
call fcn.0041f1bc
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
jmp 0x433f2e
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
xor edx, edx
test eax, eax
mov edi, eax
setne dl
je 0x43482c
mov edi, dword [ebx + 0x12c]
lea esi, [ebp - 0xbc]
xor ebx, ebx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov ebx, dword [ebp - 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edi
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x4348ac
mov ecx, dword [edx + 0xbc]
and ecx, 0x4001
cmp ecx, 1
jne 0x434851
lea edx, [ebp - 0x84]
mov ebx, dword [eax]
lea esi, [ebp - 0xbc]
mov ecx, 9
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x4348b8
mov ecx, dword [edx + 0xbc]
mov eax, dword [eax]
and ecx, 0x4001
cmp ebx, eax
cmova eax, ebx
cmp ecx, 1
cmove ebx, eax
jmp 0x434886
mov eax, dword [ebx + 0x12c]
mov ecx, ebx
mov ebx, eax
jmp 0x4348c1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x12c]
lea edx, [ebp - 0x94]
lea esi, [ebp - 0xbc]
mov dword [edx], ebx
xor ebx, ebx
mov edx, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test edx, edx
setne bl
cmove eax, edx
xor edi, edi
mov dword [esi], ebx
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ebx
mov ebx, dword [ebp - 0x10]
xor edi, edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
lea eax, [ebp - 0x94]
mov edi, 0x4011
mov dword [esi + 0x24], eax
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x434a26
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jb 0x434914
mov eax, dword [edx + 0xbc]
and eax, edi
jne 0x434914
lea esi, [ebp - 0x84]
mov ecx, esi
call fcn.00421026
mov esi, dword [esi]
test esi, esi
je 0x434a26
lea edi, [ebp - 0x84]
mov ecx, 4
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x14], eax
call fcn.004207f7
mov ecx, dword [ebp - 0x14]
mov dword [eax], esi
mov dword [eax + 8], ebx
mov dword [ebp - 0x18], eax
lea esi, [ebp - 0xbc]
mov ebx, edi
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
mov ecx, 0xa
xor eax, eax
rep movsd dword es:[edi], dword [esi]
inc eax
mov edi, 0x4011
mov dword [ebp - 0x14], eax
mov ecx, ebx
call fcn.0041db15
test eax, eax
je 0x434a3f
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jb 0x4349a0
mov eax, dword [edx + 0xbc]
and eax, edi
jne 0x4349a0
lea ecx, [ebp - 0x40]
call fcn.00421026
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
test esi, esi
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc4], eax
je 0x434a3f
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x30]
je 0x434a0b
mov ecx, dword [ebp - 0x18]
lea eax, [edx + edx*2]
inc edx
mov dword [ebp - 0x14], edx
mov dword [ecx + eax*4], esi
movsd xmm0, qword [ebp - 0xc4]
movsd qword [ecx + eax*4 + 4], xmm0
mov dword [ebp - 0x2c], edx
jmp 0x4349a0
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x34]
push 1
call fcn.004801b5
mov edx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
jmp 0x4349eb
xor eax, eax
mov dword [ebp - 0x84], 4
mov edx, 4
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
jmp 0x434a5b
movsd xmm0, qword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10]
movsd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x34]
push 0
push str.failed_to_write_whole_buffer
push eax
call fcn.0041e588
add esp, 0xc
lea ecx, [ebp - 0x84]
call fcn.0041e8bc
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x434aaa
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x24]
mov edx, esi
add eax, esi
push eax
call fcn.004ba2b7
add esp, 4
test edi, edi
je 0x434ac1
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x434ac1
lea eax, [0x548def]
lea ecx, [ebp - 0x24]
mov edx, 0x548de8
push eax
call fcn.004ba2b7
add esp, 4
mov al, byte [ebp - 0x54]
and al, byte [ebp + 8]
cmp al, 1
jne 0x434cab
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebx + 0x128]
xor edx, edx
test eax, eax
mov esi, eax
setne dl
je 0x434aec
mov esi, dword [ebx + 0x12c]
lea edi, [ebp - 0x84]
xor ebx, ebx
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], esi
mov ecx, edi
call fcn.0041db15
test eax, eax
je 0x434de1
mov esi, edx
test edx, edx
je 0x434de1
mov ebx, dword [esi + 0xbc]
bt ebx, 0xe
jae 0x434b0e
test bl, 1
jne 0x434b4b
lea eax, [0x548e06]
lea ecx, [ebp - 0x24]
mov edx, str.____________________SUBCOMMAND___SUBCOMMAND__n
jmp 0x434bd4
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test eax, eax
mov edi, eax
mov dword [ebp - 0x18], ecx
setne dl
je 0x434b71
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 0x12c]
mov dword [ebp - 0x14], edi
lea edi, [ebp - 0x84]
xor ecx, ecx
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
xor edx, edx
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x20], ecx
mov ecx, edi
call fcn.0041db15
test eax, eax
je 0x434bc6
test edx, edx
je 0x434bc6
test byte [edx + 0xbc], 1
jne 0x434b9e
lea eax, [0x548e12]
lea ecx, [ebp - 0x24]
mov edx, 0x548e0d
jmp 0x434bd4
lea eax, [0x548e0d]
lea ecx, [ebp - 0x24]
mov edx, 0x548e06
push eax
call fcn.004ba2b7
add esp, 4
lea edi, [ebp - 0x84]
mov edx, esi
mov ecx, edi
call fcn.00420235
mov ecx, edi
mov edi, dword [edi]
mov eax, dword [ecx + 4]
test edi, edi
mov edx, edi
mov dword [ebp - 0x14], eax
cmove edx, eax
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0x24]
add eax, edx
push eax
call fcn.004ba2b7
add esp, 4
test edi, edi
je 0x434c26
cmp dword [ebp - 0x14], 0
je 0x434c26
push edi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x20]
jne 0x434c3b
lea edi, [ebp - 0x24]
mov ecx, edi
call fcn.004bb282
mov edx, dword [edi + 8]
lea ecx, [ebp - 0x24]
mov eax, dword [ecx]
mov byte [eax + edx], 0x3e
inc edx
mov dword [ecx + 8], edx
cmp dword [esi + 0x30], 0
mov eax, dword [esi + 0xbc]
sete dl
cmp dword [esi + 0x3c], 2
mov esi, 0x596b55
setb dh
and eax, 2
or dh, dl
shr eax, 1
and al, dh
mov edx, str.failed_to_write_whole_buffer
movzx eax, al
cmovne edx, esi
lea eax, [eax + eax*2]
add eax, edx
push eax
call fcn.004ba2b7
add esp, 4
test bl, 1
mov ebx, dword [ebp - 0x10]
jne 0x434cab
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x20]
jne 0x434ca0
lea esi, [ebp - 0x24]
mov ecx, esi
call fcn.004bb282
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0x24]
mov byte [eax + edx], 0x5d
inc edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x434cf3
mov eax, dword [ebx + 0xdc]
imul ecx, ecx, 0x138
add eax, 0x40
cmp dword [eax], 4
jne 0x434cd4
mov edx, dword [eax - 8]
cmp dword [edx], 0x706c6568
je 0x434cda
test byte [eax - 0x3f], 0x10
je 0x434ce9
add eax, 0x138
add ecx, 0xfffffec8
jne 0x434cc4
jmp 0x434cf3
cmp byte [ebp + 8], 0
je 0x434cf3
mov eax, dword [ebx]
jmp 0x434cfe
mov eax, dword [ebx]
test ax, ax
jns 0x434d9f
test eax, 0x80000001
je 0x434d61
lea eax, [0x548e31]
lea ecx, [ebp - 0x24]
mov edx, 0x548e2c
push eax
call fcn.004ba2b7
add esp, 4
test byte [ebx + 3], 0x80
jne 0x434d72
lea esi, [ebp - 0x84]
mov edx, ebx
mov ecx, esi
push 0
call fcn.00433e86
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x24]
add eax, edi
mov edx, edi
push eax
call fcn.004ba2b7
add esp, 4
cmp dword [esi + 4], 0
je 0x434d8b
push edi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x434d8b
test al, 0x82
mov eax, 0x548e12
mov edx, 0x548e1f
cmove edx, eax
jmp 0x434d90
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [eax + 8]
add eax, edx
push eax
call fcn.004ba2b7
add esp, 4
mov edx, 0x548e1f
lea eax, [edx + 0xd]
lea ecx, [ebp - 0x24]
push eax
call fcn.004ba2b7
add esp, 4
lea esi, [ebp - 0x24]
mov ecx, esi
call fcn.004c29a0
cmp dword [ebp - 0x88], 0
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x90]
movsd xmm0, qword [esi]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
je 0x434dd6
push dword [ebp - 0x28]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548df0
jmp 0x434e01
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548e34
call fcn.00448d20
add esp, 4
ud2