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

Disassembly:
sub esp, 0x11c
mov eax, dword [0x51eed4]
xor eax, esp
mov dword [esp + 0x114], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
push edi
mov edi, dword [esi]
mov edx, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov ecx, dword [esi + 8]
lea ebx, [esi + 0x84]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edi
mov byte [esp + 0x2f], al
mov byte [esp + 0x2b], dl
mov dword [esp + 0x44], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ebx
call fcn.00425ea0
cmp dword [esi + 0x5c], 7
je 0x43742c
xor ecx, ecx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x14], ecx
mov edx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], ecx
test edx, edx
jne 0x43bc63
mov ebx, dword [esi + 0x58]
xor eax, eax
cmp dword [edi + 0x114], ecx
mov dword [esp + 0x24], ebx
setne al
mov dword [esp + 0x48], eax
mov eax, ecx
jmp 0x437078
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
cmp byte [edi + 0x1e], 0
jne 0x43742c
mov edx, dword [esp + 0x3c]
xor esi, esi
lea ecx, [ebx + ebx*4]
lea ebp, [edx + ecx*4]
cmp dword [esp + 0x48], esi
je 0x4370bb
cmp dword [edi + 0x11c], eax
jne 0x4370b6
mov eax, dword [edi + 0x118]
mov ecx, dword [edi + 0x114]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x43ba81
inc eax
mov dword [esp + 0x44], eax
test byte [ebp + 2], 2
je 0x4370e4
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea eax, [eax + edx*8]
mov dword [esp + 0x20], eax
call fcn.00430f10
mov edx, dword [esp + 0x20]
mov ecx, 4
mov word [edx + 0x1c], cx
movzx eax, byte [ebp]
dec eax
cmp eax, 0x90
ja case.0x4370f4.17
jmp dword [eax*4 + 0x43bc9c]
mov eax, dword [edi + 0xe0]
test eax, eax
jne 0x43bc5d
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, ebx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x24], ecx
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
mov ecx, dword [eax + edx*8 + 0x10]
mov dword [esp + 0x24], ecx
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
lea ecx, [eax + edx*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x24], ecx
jmp case.0x4370f4.17
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 0x1c], 1
je case.0x4370f4.17
mov edi, dword [esp + 0x14]
cmp dword [ebp + 4], esi
jne 0x43ba8e
mov eax, dword [edi + 0xd8]
cmp eax, esi
je 0x43ba8e
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x1c]
dec dword [edi + 0xe0]
mov dword [edi + 0xd8], ecx
mov ecx, dword [edi + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.00433260
cmp dword [ebp + 8], 4
mov dword [esp + 0x24], eax
jne 0x4371f8
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x24], ecx
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], eax
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4370f4.17
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [eax + 0x14], edx
jmp case.0x4370f4.17
mov eax, dword [esp + 0x20]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [ebp + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.0x4370f4.17
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 9
call fcn.0041a620
cmp byte [esp + 0x2b], 1
mov dword [ebp + 4], eax
je 0x4372e3
mov edx, dword [esp + 0x20]
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
call fcn.004315d0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 0x12
je 0x437ad0
movzx ecx, byte [esp + 0x2b]
mov eax, dword [esp + 0x20]
call fcn.00430bb0
test eax, eax
jne 0x43742c
mov esi, dword [esp + 0x20]
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov edx, 0x800
or ax, dx
mov word [esi + 0x1c], ax
cmp byte [ebp + 1], bl
jne 0x4372d4
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004186a0
add esp, 8
mov byte [ebp + 1], bl
mov edx, dword [esi + 4]
mov dword [ebp + 0x10], edx
mov eax, dword [esi + 0x18]
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x48]
jg 0x437ad0
mov eax, dword [esp + 0x20]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 4]
mov dl, byte [esp + 0x2b]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.0x4370f4.17
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 4]
push esi
mov esi, dword [esp + 0x24]
push edx
xor eax, eax
mov edx, esi
call fcn.004315d0
mov al, byte [esp + 0x33]
add esp, 8
mov byte [esi + 0x1f], al
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x48]
lea ecx, [ebp + ebp*4]
lea esi, [eax + ecx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x60], esi
call fcn.004314a0
test eax, eax
jne 0x437ad0
mov ebx, dword [esp + 0x20]
push 0x800
push esi
call fcn.004314d0
add esp, 8
jmp case.0x4370f4.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 4]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [ebp + 8]
lea ebx, [ecx + edx*8]
lea edx, [ebp + ebp*4]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x20], ecx
cmp eax, esi
je 0x4373db
mov esi, ecx
dec eax
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x60], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.00431580
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x64]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x4373a8
mov dword [esp + 0x20], esi
dec eax
mov dword [esp + 0x64], eax
jmp case.0x4370f4.17
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [esp + 0x28], ebx
call fcn.004314d0
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x4370f4.17
mov eax, ebx
call fcn.00430ce0
test eax, eax
je case.0x4370f4.17
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push str.out_of_memory
add edi, 0x38
mov byte [eax + 0x1e], 1
call fcn.00418a90
mov dword [esp + 0x14], 7
jmp 0x437aed
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x28], ebx
call fcn.004314d0
add esp, 8
jmp case.0x4370f4.17
mov ecx, dword [esp + 0x14]
push esi
call fcn.00433ae0
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, esi
jne case.0x4370f4.17
mov edi, dword [esp + 0x14]
push 1
push edi
call fcn.00433a10
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne case.0x4370f4.17
mov eax, dword [edi + 0x54]
mov edx, dword [esp + 0x18]
add eax, 2
or eax, 1
mov dword [edi + 0x54], eax
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
xor ecx, ecx
mov dword [edi + 0x14], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [ebp + 8], esi
jle 0x437535
mov edx, dword [esp + 0x60]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x437505
call fcn.00430ce0
test eax, eax
jne 0x43742c
mov ecx, dword [esp + 0x64]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x60]
lea eax, [ecx + eax*8]
call fcn.00430da0
mov eax, dword [esp + 0x64]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x60]
lea ecx, [eax + edx*8]
call fcn.00436d00
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebp + 8]
jl 0x4374df
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1e], 0
jne 0x43742c
mov edx, dword [esp + 0x24]
inc edx
mov eax, edi
mov dword [eax + 0x58], edx
mov esi, 0x64
jmp 0x437b4c
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, ecx
lea ebx, [eax + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [eax + ecx*8]
movzx eax, word [edi + 0x1c]
mov cl, byte [ebx + 0x1c]
or cl, al
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], edx
test cl, 1
je 0x43759b
mov esi, edx
call fcn.00431250
jmp case.0x4370f4.17
test eax, 0x4000
je 0x4375b7
mov eax, edi
call fcn.00430d40
cmp eax, esi
jne 0x43742c
mov edi, dword [esp + 0x30]
xor esi, esi
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x4375d5
mov eax, ebx
call fcn.00430d40
cmp eax, esi
jne 0x43742c
mov edi, dword [esp + 0x30]
test byte [edi + 0x1c], 0x12
jne 0x4375ef
movzx esi, byte [esp + 0x2b]
mov eax, edi
call fcn.00430df0
test eax, eax
jne 0x43742c
test byte [ebx + 0x1c], 0x12
jne 0x437609
movzx esi, byte [esp + 0x2b]
mov eax, ebx
call fcn.00430df0
test eax, eax
jne 0x43742c
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x437ad0
jl 0x437636
cmp esi, eax
ja 0x437ad0
mov edi, dword [esp + 0x20]
mov cx, word [edi + 0x1c]
mov edx, 0xbf02
and cx, dx
or cx, 2
xor eax, eax
cmp edi, ebx
sete al
mov word [edi + 0x1c], cx
mov ecx, dword [esp + 0x60]
add ecx, 2
call fcn.00430bd0
test eax, eax
jne 0x43742c
mov esi, edi
cmp esi, ebx
je 0x437683
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call fcn.004c0830
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 4]
push ecx
push edx
push eax
call fcn.004c0830
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 4]
mov byte [ecx + eax + 1], 0
mov cl, byte [esp + 0x37]
mov edx, 0x200
add esp, 0xc
or word [esi + 0x1c], dx
mov eax, dword [esp + 0x60]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov esi, ebx
call fcn.00436e20
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.00436e20
mov eax, dword [ebp + 0xc]
movzx edx, word [esi + 0x1c]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + 0x1c]
or edx, eax
lea edi, [edi + ecx*8]
mov dword [esp + 0x20], edi
mov dword [esp + 0x60], edx
test dl, 1
jne 0x437901
mov cl, byte [esi + 0x1c]
and cl, byte [ebx + 0x1c]
test cl, 4
je 0x437803
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x68], ecx
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x6c], ebx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x70], eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x74], esi
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x43774e
jmp dword [edx*4 + 0x43bee0]
add eax, ecx
adc esi, ebx
mov dword [esp + 0x74], esi
jmp 0x4377dc
sub eax, ecx
sbb esi, ebx
mov dword [esp + 0x74], esi
jmp 0x4377dc
push ebx
push ecx
push esi
push eax
call fcn.004c2b40
jmp 0x4377d8
mov edx, ecx
or edx, ebx
je 0x437901
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x4377a2
test eax, eax
jne 0x4377a2
cmp esi, 0x80000000
jne 0x4377a2
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.004c05f0
jmp 0x4377d8
mov edx, ecx
or edx, ebx
je 0x437901
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x4377cf
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.004c0530
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov cx, word [edi + 0x1c]
mov edx, 0xbf04
and cx, dx
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x74]
or cx, 4
mov dword [edi + 0x14], eax
mov word [edi + 0x1c], cx
jmp case.0x4370f4.17
mov eax, ebx
call fcn.00431090
fstp qword [esp + 0x78]
mov eax, esi
call fcn.00431090
fst qword [esp + 0x80]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x437828
jmp dword [eax*4 + 0x43bef0]
fadd qword [esp + 0x78]
jmp 0x4378af
fsub qword [esp + 0x78]
jmp 0x4378af
fmul qword [esp + 0x78]
jmp 0x4378af
fldz
fld qword [esp + 0x78]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4378fd
fdivp st(1)
jmp 0x4378af
fld qword [esp + 0x78]
call fcn.004eab06
mov esi, eax
mov ebx, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
call fcn.004eab06
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
je 0x437901
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x43789a
mov esi, 1
xor ebx, ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
push ebx
push esi
push edx
push eax
call fcn.004c0530
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x50]
sub esp, 8
fst qword [esp + 0x88]
fstp qword [esp]
call fcn.0041a5e0
add esp, 8
test eax, eax
jne 0x437901
mov dx, word [edi + 0x1c]
fld qword [esp + 0x80]
mov eax, 0xbf08
fstp qword [edi + 8]
and dx, ax
or dx, 8
mov word [edi + 0x1c], dx
test byte [esp + 0x60], 8
jne case.0x4370f4.17
mov esi, edi
call fcn.004310e0
jmp case.0x4370f4.17
fstp st(0)
fstp st(0)
mov esi, edi
call fcn.00431250
jmp case.0x4370f4.17
movzx ecx, byte [ebp + 3]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
cmp ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
jle 0x43799a
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x64]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x43797c
call fcn.00430ce0
test eax, eax
jne 0x43742c
mov eax, dword [esp + 0x64]
mov ecx, eax
call fcn.00436d00
mov eax, dword [esp + 0x60]
add dword [esp + 0x64], 0x28
inc eax
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x60], eax
jl 0x43794e
cmp byte [ebp + 1], 0xfb
jne 0x4379af
mov edx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
jmp 0x4379be
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
xor eax, eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ebx, edi
lea eax, [esp + 0x70]
mov word [esp + 0x8c], cx
mov dword [esp + 0x70], esi
call fcn.00431580
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
and edx, 0xbf01
or edx, 1
mov word [esp + 0x8c], dx
mov dword [esp + 0x9c], 0
test byte [eax + 3], 8
je 0x437a27
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x70]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x43bb32
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x437a6d
mov ecx, dword [ebp + 4]
push ecx
call fcn.00433f70
mov edx, dword [esp + 0x70]
add esp, 4
mov dword [ebp + 0x10], edx
mov byte [ebp + 1], 0xf9
cmp dword [esp + 0x9c], 0
je 0x437aa8
mov bl, 1
lea edi, [esp + 0x70]
call fcn.00431b90
mov edi, dword [esp + 0x14]
push eax
push 0x50e2fc
add edi, 0x38
mov eax, esi
call fcn.00418a90
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x2b]
lea eax, [esp + 0x70]
call fcn.00430bb0
lea ebx, [esp + 0x70]
mov eax, edi
call fcn.00431580
mov ecx, edi
call fcn.004314a0
test eax, eax
je case.0x4370f4.17
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.00418a90
mov dword [esp + 0x14], 0x12
add esp, 4
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0xd0]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x5c], edi
call fcn.00419d90
add esp, 0x14
push esi
call fcn.00433b40
add esp, 4
cmp edi, 0xc0a
jne 0x437b32
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1e], 1
cmp byte [esp + 0x2f], 0
mov esi, 1
je 0x437b4c
mov ebx, dword [esp + 0x1c]
push 0
call fcn.00447940
add esp, 4
mov ebx, dword [esp + 0x34]
call fcn.00425ef0
mov ecx, dword [esp + 0x124]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004be1d6
add esp, 0x11c
ret
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea esi, [edx + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [esi + 0x1c]
mov dword [esp + 0x20], edi
test dl, 1
je 0x437baa
mov esi, edi
call fcn.00431250
jmp case.0x4370f4.17
call fcn.00431020
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call fcn.00431020
mov ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
movzx eax, byte [ebp]
sub eax, 0x52
je 0x437c0b
sub eax, 1
je 0x437c01
mov edx, dword [esp + 0x64]
sub eax, 1
mov eax, dword [esp + 0x60]
je 0x437bf2
call fcn.004c2a50
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x437c13
call fcn.004c2a30
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x437c13
or dword [esp + 0x60], ecx
or dword [esp + 0x64], edx
jmp 0x437c13
and dword [esp + 0x60], ecx
and dword [esp + 0x64], edx
mov eax, dword [esp + 0x60]
mov dx, word [edi + 0x1c]
mov dword [edi + 0x10], eax
mov ecx, dword [esp + 0x64]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov dword [edi + 0x14], ecx
mov word [edi + 0x1c], dx
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00431140
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00436e20
test byte [esi + 0x1c], 8
je 0x437c78
call fcn.004310e0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x437c95
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x43bb44
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
test byte [eax + edx*8 + 0x1c], 4
lea esi, [eax + edx*8]
je case.0x4370f4.17
call fcn.00431170
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
lea ebx, [edx + ecx*8]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x4370f4.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [ebx + 0x1c], ax
test al, 2
jne 0x437d08
test al, 0xc
je 0x437d08
movzx esi, byte [esp + 0x2b]
mov eax, ebx
call fcn.00430df0
xor esi, esi
mov eax, 0xfff3
and word [ebx + 0x1c], ax
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x437d35
mov eax, ebx
call fcn.00430d40
mov ecx, 0xbfe3
and word [ebx + 0x1c], cx
mov dword [esp + 0x10], eax
jmp case.0x4370f4.17
mov ecx, 0xbfe3
and word [ebx + 0x1c], cx
mov dword [esp + 0x10], esi
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
lea edi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x4370f4.17
test al, 0x10
jne 0x437d92
test al, 2
jne 0x437d79
test al, 0xc
je 0x437d79
movzx esi, byte [esp + 0x2b]
mov eax, edi
call fcn.00430df0
mov cx, word [edi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.0x4370f4.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
lea eax, [ecx + eax*8]
call fcn.004311d0
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.0x4370f4.17
call fcn.00431140
jmp case.0x4370f4.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x4370f4.17
call fcn.00431170
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov ax, word [esi + 0x1c]
mov edi, ecx
lea ebx, [edi + edx*8]
mov word [esp + 0x66], ax
mov cx, word [ebx + 0x1c]
mov word [esp + 0x68], cx
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x437e94
mov dl, byte [ebp + 3]
test dl, dl
jns 0x437e51
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x437f07
test dl, 0x10
je 0x437e7e
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x20], eax
mov word [eax + 0x1c], cx
jmp case.0x4370f4.17
test dl, 8
je case.0x4370f4.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x64], al
je 0x437ecf
mov ecx, dword [esp + 0x2b]
push ecx
mov edi, esi
call fcn.00436ea0
mov edx, dword [esp + 0x2f]
mov al, byte [esp + 0x68]
add esp, 4
push edx
mov edi, ebx
call fcn.00436ea0
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x43742c
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x437ee1
mov eax, esi
call fcn.00430d40
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x437ef3
mov eax, ebx
call fcn.00430d40
mov eax, dword [ebp + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.004317c0
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x60], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x437f17
jmp dword [ecx*4 + 0x43bf00]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x437f5a
xor edx, edx
test eax, eax
setne dl
jmp 0x437f58
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x437f5a
xor edx, edx
test eax, eax
setle dl
jmp 0x437f58
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x437f5a
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x60], eax
test byte [ebp + 3], 0x10
je 0x437fa5
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov dx, word [edi + eax*8 + 0x1c]
lea ecx, [edi + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x60]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov dword [esp + 0x20], ecx
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x4370f4.17
test eax, eax
je 0x437fb1
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x4370f4.17
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
jmp case.0x4370f4.17
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x60], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x438080
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
jmp 0x438008
mov esi, dword [esp + 0x70]
test ebx, ebx
je 0x438011
mov ecx, dword [ebx + eax*4]
jmp 0x438013
mov ecx, eax
mov dword [esp + 0x74], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x78], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x80], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.004317c0
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jne 0x438073
mov eax, dword [esp + 0x64]
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x438004
mov dword [esp + 0x40], 0
jmp case.0x4370f4.17
cmp dword [esp + 0x7c], 0
je 0x438080
neg eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 0
jmp case.0x4370f4.17
mov eax, dword [esp + 0x38]
cmp eax, esi
jge 0x4380a2
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
jne 0x4380b1
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea ecx, [edi + edx*8]
je 0x4380d9
mov edx, 2
jmp 0x4380eb
call fcn.00431020
or eax, edx
je 0x4380e9
mov edx, 1
jmp 0x4380eb
xor edx, edx
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x438106
mov eax, 2
jmp 0x43811c
call fcn.00431020
or eax, edx
mov edx, dword [esp + 0x60]
je 0x43811a
mov eax, 1
jmp 0x43811c
xor eax, eax
mov dword [esp + 0x64], eax
cmp byte [ebp], 0x45
jne 0x438133
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x50a960]
jmp 0x43813e
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x50a96c]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x20], ecx
cmp eax, 2
jne 0x43816e
mov dx, word [ecx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ecx + 0x1c], dx
jmp case.0x4370f4.17
cdq
mov dword [ecx + 0x14], edx
mov dx, word [ecx + 0x1c]
mov dword [ecx + 0x10], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + ecx*8 + 0x1c], 1
lea ecx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x20], eax
je 0x4381bc
mov esi, eax
call fcn.00431250
jmp case.0x4370f4.17
call fcn.00431020
or eax, edx
jne 0x4381de
mov esi, dword [esp + 0x20]
mov eax, 1
cdq
push edx
push eax
call fcn.004312f0
add esp, 8
jmp case.0x4370f4.17
mov esi, dword [esp + 0x20]
xor eax, eax
cdq
push edx
push eax
call fcn.004312f0
add esp, 8
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + ecx*8 + 0x1c], 1
lea ecx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x20], eax
je 0x438222
mov esi, eax
call fcn.00431250
jmp case.0x4370f4.17
call fcn.00431020
mov esi, dword [esp + 0x20]
not edx
not eax
push edx
push eax
call fcn.004312f0
add esp, 8
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
lea eax, [edx + ecx*8]
je 0x438257
mov eax, dword [ebp + 0xc]
jmp 0x438285
call fcn.00431090
fcomp qword [0x512c18]
fnstsw ax
test ah, 0x44
jnp 0x438270
mov eax, 1
jmp 0x438272
xor eax, eax
mov dword [esp + 0x60], eax
cmp byte [ebp], 0x1b
jne 0x438289
xor ecx, ecx
cmp eax, esi
sete cl
mov eax, ecx
mov dword [esp + 0x60], eax
cmp eax, esi
je case.0x4370f4.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 0x1c], 1
je case.0x4370f4.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
jne case.0x4370f4.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x4370f4.17
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x78], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x9c], eax
mov si, word [eax + 0x1c]
mov edi, 0xbf01
and si, di
mov edi, dword [esp + 0x14]
or si, 1
mov word [eax + 0x1c], si
mov eax, dword [edi + 0x44]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x7c], edx
mov esi, dword [eax + esi*4]
mov dword [esp + 0x78], esi
mov eax, dword [esi]
mov dword [esp + 0x80], eax
cmp eax, edx
je 0x438455
call fcn.00434140
mov dword [esp + 0x10], eax
test eax, eax
jne 0x43bc16
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x1c], 0
je 0x4383b5
mov dword [esp + 0x60], 0
jmp case.0x4370f4.17
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [edi + 0x54]
jne 0x4383cd
mov edx, dword [eax + 0x50]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x7c], ecx
jmp 0x4383f3
cmp byte [eax + 0x1f], 0
je 0x43843b
mov eax, dword [esp + 0x80]
lea edi, [esp + 0x68]
call fcn.00429ac0
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je case.0x4370f4.17
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x48]
ja 0x437ad0
mov edx, dword [eax + 0x14]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x8c], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x84], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x43849b
mov eax, dword [eax + 0x58]
mov dword [esp + 0x88], eax
jmp 0x438756
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x60]
push eax
call fcn.00429af0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x4383ef
mov eax, dword [esi + 0x10]
cmp eax, edx
jle 0x438492
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0xe0], eax
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
test byte [ebp + 3], 0x20
je 0x438487
xor eax, eax
mov dword [esi + 0x4c], eax
jmp 0x4383ef
mov eax, dword [edi + 0x54]
mov dword [esi + 0x4c], eax
jmp 0x4383ef
mov dword [esp + 0x60], edx
jmp case.0x4370f4.17
lea ecx, [ecx + edx*4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0xdc], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x4384d9
mov dword [esp + 0x98], ecx
jmp 0x438543
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x1f], 0
je 0x4384f9
mov esi, dword [esp + 0x80]
lea eax, [esp + 0xdc]
push eax
call fcn.0042a120
jmp 0x43850d
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0xdc]
push ecx
call fcn.0042a180
mov edx, dword [esp + 0x64]
add esp, 4
mov dword [esp + 0x98], eax
cmp edx, dword [esp + 0xdc]
ja 0x438531
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [ecx + 0x5c], eax
jmp 0x43853c
mov edx, dword [esp + 0x78]
mov dword [edx + 0x5c], 0
mov ecx, dword [esp + 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43855a
movzx edx, al
mov dword [esp + 0xd0], edx
mov eax, 1
jmp 0x438577
lea esi, [esp + 0xd0]
call fcn.0041b2c0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x98]
movzx eax, al
movzx eax, al
mov dword [esp + 0xd8], eax
cmp edx, 0x18003
jbe 0x43859c
mov eax, 0xf569
call fcn.00472920
mov dword [esp + 0x10], eax
jmp case.0x4370f4.17
mov eax, dword [esp + 0x8c]
lea ebx, [eax + eax*4 + 3]
cmp ebx, edx
mov dword [esp + 0x90], ebx
jle 0x4385bb
mov ebx, edx
mov dword [esp + 0x90], ebx
cmp dword [esp + 0x7c], 0
jne 0x43862c
cmp dword [esp + 0xdc], ebx
jge 0x43862c
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov word [esp + 0xbc], cx
mov dword [esp + 0xa0], ecx
movzx eax, byte [edx + 0x1f]
push eax
push ecx
mov ecx, dword [esp + 0x88]
push ecx
lea eax, [esp + 0xac]
call fcn.00431a60
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x4370f4.17
invalid
mov word [esp], fs
invalid