Function at 0x43a9dc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x68], 0x101
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xc], 0x100
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x6c], 0
mov eax, 0x14
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x144], esp
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
jne 0x43aaa2
mov eax, 0xfffffffe
jmp 0x43dcbb
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x44], 0
xor eax, eax
test eax, eax
jne 0x43aa79
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x18], 0
je 0x43ac21
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x148], esp
mov edx, dword [ebp - 0x148]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x14c], esp
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x150], esp
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x154], esp
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x158], esp
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x15c], esp
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x160], esp
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x164], esp
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x168], esp
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 4], 0
je 0x43ac10
cmp dword [ebp - 0x3c], 0
je 0x43ac10
cmp dword [ebp - 0x58], 0
je 0x43ac10
cmp dword [ebp - 0x74], 0
je 0x43ac10
cmp dword [ebp - 0x1c], 0
je 0x43ac10
cmp dword [ebp - 0x18], 0
je 0x43ac10
cmp dword [ebp - 0x28], 0
je 0x43ac10
cmp dword [ebp - 0x60], 0
je 0x43ac10
cmp dword [ebp - 0x6c], 0
jne 0x43ac21
xor eax, eax
call sub.ntdll.dll__alloca_probe
mov eax, 0xfffffffe
jmp 0x43dcbb
cmp dword [ebp + 0x1c], 0
jl 0x43ac32
mov edx, dword [ebp + 0x14]
add edx, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], edx
jle 0x43ac41
xor eax, eax
call sub.ntdll.dll__alloca_probe
or eax, 0xffffffff
jmp 0x43dcbb
mov dword [ebp - 0x14], 1
jmp 0x43ac53
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x40]
jge 0x43acea
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
mov dword [eax + edx*4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x58]
mov dword [edx + ecx*4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + eax*4], 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov dword [eax + edx*4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4]
or al, 3
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
and edx, 0xfffffffb
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4]
and ecx, 0xfffffff7
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4]
and al, 0xef
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx*4], eax
jmp 0x43ac4a
cmp dword [ebp + 0x18], 0
jne 0x43ad10
cmp dword [ebp + 0xc], 0
je 0x43ad10
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0xc], 0
mov dword [ebp + 0x14], 0
mov edx, dword [ebp + 0xc]
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x18]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp + 0x24]
cmp ecx, dword [ebp + 0x14]
jg 0x43ad3b
mov edx, dword [ebp + 0xc]
add edx, dword [ebp + 0x24]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x50], eax
jmp 0x43ad4d
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x24]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 0x50], edx
cmp dword [ebp + 0x14], 0
jle 0x43ad6c
mov eax, dword [ebp + 0x1c]
cmp eax, dword [ebp + 0x14]
jg 0x43ad6c
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x78], edx
jmp 0x43ad7e
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x30]
jne 0x43b229
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x50]
je 0x43aee2
cmp dword [ebp - 0x44], 0
je 0x43ae69
cmp dword [ebp + 0x14], 0
je 0x43adc5
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp - 0x20]
ja 0x43adc5
mov edx, dword [ebp + 0xc]
add edx, dword [ebp + 0x14]
cmp dword [ebp - 0x20], edx
ja 0x43adc5
mov dword [ebp - 0x16c], 1
jmp 0x43adcf
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x78]
xor ecx, ecx
cmp eax, dword [ebp - 0x38]
sete cl
xor edx, edx
cmp dword [ebp - 0x16c], ecx
sete dl
mov byte [ebp - 0x7c], dl
cmp dword [ebp - 0x2c], 0
je 0x43ae17
mov eax, dword [ebp - 0x7c]
and eax, 0xff
test eax, eax
je 0x43ae02
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
ja 0x43ae17
mov edx, dword [ebp - 0x7c]
and edx, 0xff
test edx, edx
jne 0x43ae64
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x38]
je 0x43ae64
mov dword [ebp - 0x2c], 1
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], 1
jmp 0x43ae36
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x40]
jge 0x43ae64
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
jmp 0x43ae2d
jmp 0x43dcb6
cmp dword [ebp - 0x2c], 0
je 0x43aee2
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp + 0xc]
jb 0x43ae90
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
ja 0x43ae90
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x170], ecx
jmp 0x43ae99
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x14], 1
jmp 0x43aeb4
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x40]
jge 0x43aee2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
jmp 0x43aeab
cmp dword [ebp + 0x20], 0
je 0x43b1ec
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
shr ecx, 4
and ecx, 1
test ecx, ecx
jne 0x43b1ec
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shr eax, 1
and eax, 3
test eax, eax
jne 0x43afa4
mov ecx, dword [ebp - 0x40]
add ecx, 1
cmp ecx, 0x1e
jae 0x43af2a
mov dword [ebp - 0x174], 0x1e
jmp 0x43af36
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x174], edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x174]
mov dword [eax], ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 0x20]
cmp dword [edx + 4], 0
je 0x43af83
mov eax, dword [ebp + 0x20]
cmp dword [eax + 8], 0
jne 0x43af8d
mov eax, 0xfffffffe
jmp 0x43dcbb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
and edx, 0xfffffff9
or edx, 2
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], edx
jmp 0x43b026
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
shr edx, 1
and edx, 3
cmp edx, 1
jne 0x43b026
mov eax, dword [ebp - 0x40]
add eax, 1
mov ecx, dword [ebp + 0x20]
cmp dword [ecx], eax
jae 0x43b026
mov edx, dword [ebp - 0x40]
add edx, 1
mov eax, dword [ebp + 0x20]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx]
shl edx, 2
push edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.MSVCRT.dll_realloc]
add esp, 8
mov edx, dword [ebp + 0x20]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
shl ecx, 2
push ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.MSVCRT.dll_realloc]
add esp, 8
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 0x20]
cmp dword [edx + 4], 0
je 0x43b01c
mov eax, dword [ebp + 0x20]
cmp dword [eax + 8], 0
jne 0x43b026
mov eax, 0xfffffffe
jmp 0x43dcbb
mov ecx, dword [ebp + 0x20]
cmp dword [ecx], 0
jbe 0x43b06c
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 0x1c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x38]
jne 0x43b04f
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x178], eax
jmp 0x43b05e
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp + 0x10]
add ecx, dword [ebp + 0x14]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x178]
mov dword [eax], ecx
mov dword [ebp - 0x14], 1
jmp 0x43b07e
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax]
jae 0x43b093
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x17c], edx
jmp 0x43b09e
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x17c]
jge 0x43b1af
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax*4], 0xffffffff
je 0x43b0c5
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
cmp dword [eax + edx*4], 0xffffffff
jne 0x43b0ea
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov dword [edx + eax*4], 0xffffffff
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x14]
mov dword [edx + eax*4], 0xffffffff
jmp 0x43b1aa
cmp dword [ebp + 0x14], 0
je 0x43b123
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
cmp eax, dword [edx + ecx*4]
ja 0x43b123
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
cmp dword [eax + edx*4], ecx
ja 0x43b123
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4]
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x180], eax
jmp 0x43b138
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4]
sub eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x180]
mov dword [edx + eax*4], ecx
cmp dword [ebp + 0x14], 0
je 0x43b183
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + edx*4]
ja 0x43b183
mov edx, dword [ebp + 0xc]
add edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
cmp dword [ecx + eax*4], edx
ja 0x43b183
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + edx*4]
sub ecx, dword [ebp + 0xc]
mov dword [ebp - 0x184], ecx
jmp 0x43b198
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + edx*4]
sub ecx, dword [ebp + 0x10]
add ecx, dword [ebp + 0x14]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x184]
mov dword [eax + ecx*4], edx
jmp 0x43b075
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
jmp 0x43b1c0
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x14]
cmp eax, dword [edx]
jge 0x43b1ec
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov dword [edx + eax*4], 0xffffffff
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x14]
mov dword [edx + eax*4], 0xffffffff
jmp 0x43b1b7
xor eax, eax
call sub.ntdll.dll__alloca_probe
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x38]
jne 0x43b206
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x188], edx
jmp 0x43b212
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp + 0x1c]
sub ecx, dword [ebp - 0x188]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
jmp 0x43dcbb
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 0x1c
ja case.default.0x43b25e
mov eax, dword [ebp - 0x190]
jmp dword [eax*4 + 0x43dcc7]
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x70], 0
je 0x43b2e6
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x78]
jne 0x43b2a6
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x50]
jne 0x43b298
jmp 0x43dcb1
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], ecx
jmp 0x43b283
mov edx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x70]
movsx edx, byte [ecx + eax]
mov eax, dword [ebp - 0x10]
movsx ecx, byte [eax]
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp edx, ecx
je 0x43b2d5
jmp 0x43dcac
mov ecx, dword [ebp - 0x14]
sub ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
jne 0x43b283
jmp 0x43b33f
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x78]
jne 0x43b309
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x50]
jne 0x43b2fb
jmp 0x43dca7
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x78], edx
jmp 0x43b2e6
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x10]
movsx eax, byte [edx]
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp ecx, eax
je 0x43b330
jmp 0x43dca2
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x43b2e6
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x80], edx
jmp 0x43b368
mov eax, dword [ebp - 0x84]
add eax, 1
mov ecx, dword [ebp - 0x80]
adc ecx, 0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 8]
jg 0x43b3f4
jl 0x43b381
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0xc]
ja 0x43b3f4
push 0
push 4
mov ecx, dword [ebp - 0x80]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 0x10
push 0
push 4
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
push 0
push 4
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 8
push 0
push 4
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
jmp 0x43b350
xor edx, edx
test edx, edx
jne 0x43b33f
jmp 0x43d99c
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x78]
jne 0x43b426
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x50]
jne 0x43b418
jmp 0x43dc9d
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x78], eax
jmp case.0x43b25e.2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
and edx, 0x40
test edx, edx
jne 0x43b465
cmp dword [ebp - 0x70], 0
je 0x43b44e
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x70]
mov al, byte [edx + ecx]
mov byte [ebp - 0x191], al
jmp 0x43b459
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx]
mov byte [ebp - 0x191], dl
movsx eax, byte [ebp - 0x191]
cmp eax, 0xa
je 0x43b4a6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
and edx, 0x80
test edx, edx
je 0x43b4ab
cmp dword [ebp - 0x70], 0
je 0x43b490
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x70]
mov al, byte [edx + ecx]
mov byte [ebp - 0x192], al
jmp 0x43b49b
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx]
mov byte [ebp - 0x192], dl
movsx eax, byte [ebp - 0x192]
test eax, eax
jne 0x43b4ab
jmp 0x43dc98
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x88], edx
jmp 0x43b4dd
mov eax, dword [ebp - 0x8c]
add eax, 1
mov ecx, dword [ebp - 0x88]
adc ecx, 0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 8]
jg 0x43b578
jl 0x43b4f9
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0xc]
ja 0x43b578
push 0
push 4
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 0x10
push 0
push 4
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
push 0
push 4
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 8
push 0
push 4
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
jmp 0x43b4bf
xor edx, edx
test edx, edx
jne 0x43b4ab
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx - 1]
xor eax, eax
cmp edx, 4
sete al
mov byte [ebp - 0x94], al
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x78]
jne 0x43b5c9
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x50]
jne 0x43b5bb
jmp 0x43dc93
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], ecx
jmp 0x43b5a6
cmp dword [ebp - 0x70], 0
je 0x43b5e4
mov edx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x70]
mov dl, byte [ecx + eax]
mov byte [ebp - 0x193], dl
jmp 0x43b5ef
mov eax, dword [ebp - 0x24]
mov cl, byte [eax]
mov byte [ebp - 0x193], cl
mov dl, byte [ebp - 0x193]
mov byte [ebp - 0x90], dl
mov eax, dword [ebp - 0x90]
and eax, 0xff
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
shl edx, 3
cmp eax, edx
jae 0x43b66f
mov eax, dword [ebp - 0x90]
and eax, 0xff
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + eax + 1]
mov eax, dword [ebp - 0x90]
and eax, 0xff
mov ecx, eax
and ecx, 0x80000007
jns 0x43b64b
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, 1
shl eax, cl
and edx, eax
test edx, edx
je 0x43b66f
mov ecx, dword [ebp - 0x94]
and ecx, 0xff
neg ecx
sbb ecx, ecx
inc ecx
mov byte [ebp - 0x94], cl
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x10]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x94]
and eax, 0xff
test eax, eax
jne 0x43b694
jmp 0x43dc8e
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x98], edx
jmp 0x43b6c6
mov eax, dword [ebp - 0x9c]
add eax, 1
mov ecx, dword [ebp - 0x98]
adc ecx, 0
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 8]
jg 0x43b761
jl 0x43b6e2
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xc]
ja 0x43b761
push 0
push 4
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 0x10
push 0
push 4
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
push 0
push 4
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 8
push 0
push 4
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
jmp 0x43b6a8
xor edx, edx
test edx, edx
jne 0x43b694
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
and edx, 3
cmp edx, 3
jne 0x43b7db
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.0043dd67
add esp, 0xc
mov byte [ebp - 0x198], al
mov eax, dword [ebp - 0x198]
and eax, 0xff
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
and eax, 3
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + edx*4]
and edx, 0xfffffffc
or edx, eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4]
and ecx, 3
test ecx, ecx
je 0x43b82b
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax*4], 0xffffffff
jne 0x43b80a
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x19c], edx
jmp 0x43b81d
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], ecx
jmp 0x43b83e
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1a0]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
or edx, 4
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4]
and ecx, 0xfffffff7
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov edx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov eax, ecx
cdq
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x68], 0x101
jne 0x43b8c8
cmp dword [ebp - 0x64], 0
jne 0x43b8c8
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4]
and ecx, 3
test ecx, ecx
je 0x43b926
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x3c]
cmp dword [ecx + eax*4], 0xffffffff
jne 0x43b905
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1a4], edx
jmp 0x43b918
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], ecx
jmp 0x43b939
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1a8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
and edx, 0xfffffffb
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0xc]
jne 0x43b9aa
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 8]
jne 0x43b9aa
mov dword [ebp - 0x68], 0x101
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xc], 0x100
mov dword [ebp - 8], 0
jmp 0x43ba35
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
sub ecx, 1
mov byte [ebp - 0xa0], cl
mov edx, dword [ebp - 0xa0]
and edx, 0xff
test edx, edx
jle 0x43b9f5
mov eax, dword [ebp - 0xa0]
and eax, 0xff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
shr edx, 2
and edx, 1
test edx, edx
jne 0x43b9f5
mov al, byte [ebp - 0xa0]
sub al, 1
mov byte [ebp - 0xa0], al
jmp 0x43b9ba
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
test ecx, ecx
jne 0x43ba23
mov dword [ebp - 0x68], 0x101
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xc], 0x100
mov dword [ebp - 8], 0
jmp 0x43ba35
mov eax, dword [ebp - 0xa0]
and eax, 0xff
cdq
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4]
shr edx, 3
and edx, 1
test edx, edx
je 0x43ba5d
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax - 3]
cmp ecx, 5
jne 0x43bf32
mov edx, dword [ebp - 0x10]
add edx, 2
cmp edx, dword [ebp - 0x30]
jae 0x43bf32
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1b0]
sub edx, 0xc
mov dword [ebp - 0x1b0], edx
cmp dword [ebp - 0x1b0], 9
ja case.0x43bacb.2
mov ecx, dword [ebp - 0x1b0]
xor eax, eax
mov al, byte [ecx + 0x43dd47]
jmp dword [eax*4 + 0x43dd3b]
mov byte [ebp - 0xa4], 1
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx]
and eax, 0xff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx + 1]
xor edx, 0x80
sub edx, 0x80
shl edx, 8
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x14], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43bacb.0
mov edx, dword [ebp - 0x34]
add edx, 2
mov dword [ebp - 0x34], edx
xor eax, eax
test eax, eax
jne case.0x43bacb.0
mov ecx, dword [ebp - 0xa4]
and ecx, 0xff
test ecx, ecx
je case.0x43bacb.2
mov edx, dword [ebp - 0x34]
add edx, 2
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x14], 0
jge 0x43bf32
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0xe
jne 0x43bf32
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 3]
cmp ecx, 5
jne 0x43bf32
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx + 4]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp eax, edx
jne 0x43bf32
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4]
shr eax, 4
and eax, 1
test eax, eax
je 0x43bc7c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4]
and ecx, 0xffffffef
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov edx, dword [ebp - 0x1c]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov dword [ebp - 0xa8], ecx
jmp 0x43bbd6
mov edx, dword [ebp - 0xa8]
add edx, 1
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 1]
add ecx, eax
cmp dword [ebp - 0xa8], ecx
jae 0x43bc7c
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x58]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x74]
mov eax, dword [edx + ecx*4]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + edx*4]
cdq
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [ebp - 0x1bc]
jl 0x43bc77
jg 0x43bc5f
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x1c0]
jb 0x43bc77
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x74]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
jmp 0x43bbc7
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 1]
xor ecx, 0x80
sub ecx, 0x80
shl ecx, 8
mov edx, dword [ebp - 0x14]
add edx, ecx
mov dword [ebp - 0x14], edx
xor eax, eax
test eax, eax
jne 0x43bc85
mov ecx, dword [ebp - 0x34]
add ecx, 2
mov dword [ebp - 0x34], ecx
xor edx, edx
test edx, edx
jne 0x43bc85
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x44]
mov esi, eax
xor edi, edi
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 8]
sbb edx, dword [ebp - 0x64]
add ecx, 1
adc edx, 0
push 0
push 3
push edx
push ecx
call sub.ntdll.dll__allmul
add eax, 4
adc edx, 0
mov dword [ebp - 0x1c8], esi
mov dword [ebp - 0x1c4], edi
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1cc]
jg 0x43bde8
jl 0x43bd34
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1d0]
jae 0x43bde8
mov edx, dword [ebp - 0x40]
sub edx, 1
imul edx, edx, 3
add edx, 4
mov eax, dword [0x4e25d8]
imul eax, edx
cmp dword [ebp - 0x48], eax
jbe 0x43bd59
mov dword [ebp - 0x1d4], 0
jmp 0x43bdd0
mov eax, dword [ebp - 0x48]
shl eax, 1
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x1d8], esp
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x48]
shl edx, 2
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
jne 0x43bdb2
mov dword [ebp - 0x1dc], 0
jmp 0x43bdc4
mov eax, dword [ebp - 0x48]
shl eax, 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1dc], 1
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1d4], ecx
cmp dword [ebp - 0x1d4], 0
jne 0x43bde3
mov eax, 0xfffffffe
jmp 0x43dcbb
jmp 0x43bcc9
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xac], eax
jmp 0x43be1a
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov edx, dword [ebp - 0xac]
adc edx, 0
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 8]
jg 0x43becc
jl 0x43be3a
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [ebp - 0xc]
ja 0x43becc
push 0
push 4
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x43bdfc
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
xor eax, eax
test eax, eax
jne 0x43bcc9
jmp 0x43dc89
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x10], ecx
jmp 0x43d99c
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
cmp dword [eax + edx*4], 0xffffffff
je 0x43bf74
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x3c]
cmp dword [edx + ecx*4], 0xffffffff
jne 0x43bf79
jmp 0x43dc84
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xbc], edx
cmp dword [ebp + 0x14], 0
je 0x43bfc2
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + eax*4]
ja 0x43bfc2
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 4]
cmp dword [edx + ecx*4], eax
ja 0x43bfc2
mov dword [ebp - 0x1e0], 1
jmp 0x43bfcc
mov dword [ebp - 0x1e0], 0
cmp dword [ebp + 0x14], 0
je 0x43c003
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + eax*4]
ja 0x43c003
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x3c]
cmp dword [edx + ecx*4], eax
ja 0x43c003
mov dword [ebp - 0x1e4], 1
jmp 0x43c00d
mov dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0x1e4]
jne 0x43c02f
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x1e8], eax
jmp 0x43c038
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x1e8]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xc0]
jne 0x43c092
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0x50]
jne 0x43c05f
jmp 0x43c092
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [eax + edx*4]
jne 0x43c075
jmp 0x43c092
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xc0], edx
jmp 0x43c044
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xc0]
jne 0x43c0a5
jmp 0x43c162
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x78]
jne 0x43c0c8
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x50]
jne 0x43c0ba
jmp 0x43dc7f
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], ecx
jmp 0x43c0a5
mov edx, dword [ebp - 0x78]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xbc]
cmp dword [ebp - 0x14], eax
jle 0x43c0f1
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x70], 0
je 0x43c11a
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call fcn.0043e236
add esp, 0x10
mov dword [ebp - 0x1ec], eax
jmp 0x43c137
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call sub.ntdll.dll_memcmp
add esp, 0xc
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x43c145
jmp 0x43dc7a
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0xbc]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0xbc], ecx
jmp 0x43c044
jmp 0x43d99c
cmp dword [ebp + 0x14], 0
je 0x43c178
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1f0], edx
jmp 0x43c181
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x1f0]
je 0x43c192
cmp dword [ebp + 0x18], 0
jne 0x43c1a9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shr eax, 5
and eax, 1
test eax, eax
jne 0x43c1a7
jmp 0x43d99c
jmp 0x43c1ca
mov ecx, dword [ebp - 0x24]
movsx edx, byte [ecx - 1]
cmp edx, 0xa
jne 0x43c1ca
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
shr ecx, 7
and ecx, 1
test ecx, ecx
je 0x43c1ca
jmp 0x43d99c
jmp 0x43dc75
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x5c]
jne 0x43c1ee
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
shr ecx, 6
and ecx, 1
test ecx, ecx
jne 0x43c1ec
jmp 0x43d99c
jmp 0x43c22f
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
jne 0x43c203
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x1f1], cl
jmp 0x43c20e
mov edx, dword [ebp - 0x24]
mov al, byte [edx]
mov byte [ebp - 0x1f1], al
movsx ecx, byte [ebp - 0x1f1]
cmp ecx, 0xa
jne 0x43c22f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shr eax, 7
and eax, 1
test eax, eax
je 0x43c22f
jmp 0x43d99c
jmp 0x43dc70
cmp dword [ebp + 0x14], 0
je 0x43c245
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1f8], ecx
jmp 0x43c24e
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x1f8]
je 0x43c25f
cmp dword [ebp + 0x18], 0
jne 0x43c264
jmp 0x43d99c
jmp 0x43dc6b
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x5c]
jne 0x43c276
jmp 0x43d99c
jmp 0x43dc66
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
and eax, 0xff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 1]
xor edx, 0x80
sub edx, 0x80
shl edx, 8
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x14], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.15
mov edx, dword [ebp - 0x10]
add edx, 2
mov dword [ebp - 0x10], edx
xor eax, eax
test eax, eax
jne case.0x43b25e.15
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x44]
mov esi, ecx
xor edi, edi
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
sbb eax, dword [ebp - 0x64]
add edx, 1
adc eax, 0
push 0
push 3
push eax
push edx
call sub.ntdll.dll__allmul
add eax, 4
adc edx, 0
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x1fc], edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], edx
mov ecx, dword [ebp - 0x1fc]
cmp ecx, dword [ebp - 0x204]
jg 0x43c3de
jl 0x43c329
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x208]
jae 0x43c3de
mov eax, dword [ebp - 0x40]
sub eax, 1
imul eax, eax, 3
add eax, 4
mov ecx, dword [0x4e25d8]
imul ecx, eax
cmp dword [ebp - 0x48], ecx
jbe 0x43c34f
mov dword [ebp - 0x20c], 0
jmp 0x43c3c6
mov eax, dword [ebp - 0x48]
shl eax, 1
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x210], esp
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x48]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x43c3a8
mov dword [ebp - 0x214], 0
jmp 0x43c3ba
mov ecx, dword [ebp - 0x48]
shl ecx, 1
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x214], 1
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x20c], edx
cmp dword [ebp - 0x20c], 0
jne 0x43c3d9
mov eax, 0xfffffffe
jmp 0x43dcbb
jmp 0x43c2be
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xc4], ecx
jmp 0x43c410
mov edx, dword [ebp - 0xc8]
add edx, 1
mov eax, dword [ebp - 0xc4]
adc eax, 0
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [ebp - 8]
jg 0x43c4c2
jl 0x43c430
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xc]
ja 0x43c4c2
push 0
push 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call sub.ntdll.dll__allmul
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x43c3f2
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
xor edx, edx
test edx, edx
jne 0x43c2be
jmp 0x43d99c
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
and ecx, 0xff
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 1]
xor eax, 0x80
sub eax, 0x80
shl eax, 8
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x14], ecx
xor edx, edx
test edx, edx
jne case.0x43b25e.14
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.14
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x30]
jae 0x43c58f
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx]
test edx, edx
jne 0x43c58f
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
jmp 0x43c571
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x30]
jae 0x43c5de
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx]
cmp eax, 5
jne 0x43c5de
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx + 1]
mov eax, edx
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx + 2]
add eax, edx
cdq
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x68], 0x101
jne 0x43c5de
cmp dword [ebp - 0x64], 0
jne 0x43c5de
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 1]
mov eax, ecx
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x44]
mov esi, edx
xor edi, edi
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 8]
sbb ecx, dword [ebp - 0x64]
add eax, 1
adc ecx, 0
push 0
push 3
push ecx
push eax
call sub.ntdll.dll__allmul
add eax, 4
adc edx, 0
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], edx
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x220]
jg 0x43c6fe
jl 0x43c649
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x224]
jae 0x43c6fe
mov ecx, dword [ebp - 0x40]
sub ecx, 1
imul ecx, ecx, 3
add ecx, 4
mov edx, dword [0x4e25d8]
imul edx, ecx
cmp dword [ebp - 0x48], edx
jbe 0x43c66f
mov dword [ebp - 0x228], 0
jmp 0x43c6e6
mov eax, dword [ebp - 0x48]
shl eax, 1
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x22c], esp
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
jne 0x43c6c8
mov dword [ebp - 0x230], 0
jmp 0x43c6da
mov edx, dword [ebp - 0x48]
shl edx, 1
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x230], 1
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x43c6f9
mov eax, 0xfffffffe
jmp 0x43dcbb
jmp 0x43c5de
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xd0], edx
jmp 0x43c730
mov eax, dword [ebp - 0xd4]
add eax, 1
mov ecx, dword [ebp - 0xd0]
adc ecx, 0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 8]
jg 0x43c7e2
jl 0x43c750
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xc]
ja 0x43c7e2
push 0
push 4
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x43c712
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
xor eax, eax
test eax, eax
jne 0x43c5de
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 1]
xor ecx, 0x80
sub ecx, 0x80
shl ecx, 8
mov edx, dword [ebp - 0x14]
add edx, ecx
mov dword [ebp - 0x14], edx
xor eax, eax
test eax, eax
jne case.0x43b25e.17
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x10], ecx
xor edx, edx
test edx, edx
jne case.0x43b25e.17
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
add ecx, 2
cmp ecx, dword [ebp - 0x30]
jae 0x43c8d2
mov edx, dword [ebp - 0xdc]
xor eax, eax
mov al, byte [edx]
cmp eax, 6
je 0x43c8c1
mov ecx, dword [ebp - 0xdc]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 5
jne 0x43c8d2
mov eax, dword [ebp - 0xdc]
add eax, 3
mov dword [ebp - 0xdc], eax
jmp 0x43c895
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0x30]
jne 0x43c8e9
mov edx, dword [ebp - 0x10]
mov byte [edx - 3], 0x10
jmp 0x43ca46
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 1
je 0x43c91f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shr eax, 7
and eax, 1
test eax, eax
je 0x43ca46
mov ecx, dword [ebp - 0xdc]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 9
jne 0x43ca46
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 9
jne 0x43c937
mov byte [ebp - 0x231], 0xa
jmp 0x43c946
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 2]
mov byte [ebp - 0x231], al
mov cl, byte [ebp - 0x231]
mov byte [ebp - 0xe0], cl
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 3]
cmp ecx, 1
jne 0x43c98c
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx + 5]
mov ecx, dword [ebp - 0xe0]
and ecx, 0xff
cmp eax, ecx
je 0x43c98c
mov edx, dword [ebp - 0x10]
mov byte [edx - 3], 0x10
jmp 0x43ca46
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 3]
cmp ecx, 3
je 0x43c9aa
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx + 3]
cmp eax, 4
jne 0x43ca46
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx + 3]
xor eax, eax
cmp edx, 4
sete al
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe0]
and ecx, 0xff
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx + 4]
shl eax, 3
and eax, 0xff
cmp ecx, eax
jge 0x43ca36
mov eax, dword [ebp - 0xe0]
and eax, 0xff
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx + eax + 5]
mov eax, dword [ebp - 0xe0]
and eax, 0xff
mov ecx, eax
and ecx, 0x80000007
jns 0x43ca17
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, 1
shl eax, cl
and edx, eax
test edx, edx
je 0x43ca36
xor ecx, ecx
cmp dword [ebp - 0xe4], 0
sete cl
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0
jne 0x43ca46
mov edx, dword [ebp - 0x10]
mov byte [edx - 3], 0x10
mov eax, dword [ebp - 0x10]
sub eax, 2
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx - 1]
cmp edx, 0x10
je case.0x43b25e.16
mov eax, dword [ebp - 0x10]
mov byte [eax - 1], 0xc
jmp 0x43dc61
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x100], 0
je 0x43ca95
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + edx*4]
cdq
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + edx*4]
cdq
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x104], edx
jmp 0x43cb23
mov eax, dword [ebp - 0x108]
sub eax, 1
mov ecx, dword [ebp - 0x104]
sbb ecx, 0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0xec]
jl case.0x43b25e.12
jg 0x43cb49
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0xf0]
jb case.0x43b25e.12
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x108]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
push 0
push 4
mov ecx, dword [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x108]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
push 0
push 4
mov ecx, dword [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x108]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
jmp 0x43cb05
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
and ecx, 0xff
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 1]
xor eax, 0x80
sub eax, 0x80
shl eax, 8
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x14], ecx
xor edx, edx
test edx, edx
jne case.0x43b25e.12
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.12
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
jmp 0x43d99c
jmp case.0x43b25e.12
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x44]
mov esi, eax
xor edi, edi
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 8]
sbb edx, dword [ebp - 0x64]
add ecx, 1
adc edx, 0
push 0
push 3
push edx
push ecx
call sub.ntdll.dll__allmul
add eax, 4
adc edx, 0
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x240]
jg 0x43cd4c
jl 0x43cc98
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [ebp - 0x244]
jae 0x43cd4c
mov edx, dword [ebp - 0x40]
sub edx, 1
imul edx, edx, 3
add edx, 4
mov eax, dword [0x4e25d8]
imul eax, edx
cmp dword [ebp - 0x48], eax
jbe 0x43ccbd
mov dword [ebp - 0x248], 0
jmp 0x43cd34
mov eax, dword [ebp - 0x48]
shl eax, 1
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x24c], esp
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x48]
shl edx, 2
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
jne 0x43cd16
mov dword [ebp - 0x250], 0
jmp 0x43cd28
mov eax, dword [ebp - 0x48]
shl eax, 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x250], 1
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x248], 0
jne 0x43cd47
mov eax, 0xfffffffe
jmp 0x43dcbb
jmp case.0x43b25e.18
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10c], eax
jmp 0x43cd7e
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov edx, dword [ebp - 0x10c]
adc edx, 0
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 8]
jg 0x43ce30
jl 0x43cd9e
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0xc]
ja 0x43ce30
push 0
push 4
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x110]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x110]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x110]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x43cd60
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], 0
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], 0
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.18
jmp case.0x43b25e.12
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x44]
mov esi, edx
xor edi, edi
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 8]
sbb ecx, dword [ebp - 0x64]
add eax, 1
adc ecx, 0
push 0
push 3
push ecx
push eax
call sub.ntdll.dll__allmul
add eax, 4
adc edx, 0
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x25c]
jg 0x43cfb5
jl 0x43cf00
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x260]
jae 0x43cfb5
mov ecx, dword [ebp - 0x40]
sub ecx, 1
imul ecx, ecx, 3
add ecx, 4
mov edx, dword [0x4e25d8]
imul edx, ecx
cmp dword [ebp - 0x48], edx
jbe 0x43cf26
mov dword [ebp - 0x264], 0
jmp 0x43cf9d
mov eax, dword [ebp - 0x48]
shl eax, 1
shl eax, 2
add eax, 3
and al, 0xfc
call sub.ntdll.dll__alloca_probe
mov dword [ebp - 0x268], esp
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x120]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
jne 0x43cf7f
mov dword [ebp - 0x26c], 0
jmp 0x43cf91
mov edx, dword [ebp - 0x48]
shl edx, 1
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x26c], 1
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x43cfb0
mov eax, 0xfffffffe
jmp 0x43dcbb
jmp case.0x43b25e.19
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x118], edx
jmp 0x43cfe7
mov eax, dword [ebp - 0x11c]
add eax, 1
mov ecx, dword [ebp - 0x118]
adc ecx, 0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 8]
jg 0x43d099
jl 0x43d007
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0xc]
ja 0x43d099
push 0
push 4
mov ecx, dword [ebp - 0x118]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + eax]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x43cfc9
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], 0
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx*4], 0
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.19
jmp 0x43d99c
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 2]
and eax, 0xff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 3]
xor edx, 0x80
sub edx, 0x80
shl edx, 8
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x14], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.20
cmp dword [ebp - 0x14], 0
jle 0x43d17c
mov edx, dword [ebp - 0x14]
sub edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0x10]
mov byte [edx], cl
mov eax, dword [ebp - 0x14]
sar eax, 8
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 1], al
xor edx, edx
test edx, edx
jne 0x43d14b
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
xor ecx, ecx
test ecx, ecx
jne 0x43d14b
jmp 0x43d195
cmp dword [ebp - 0x14], 0
jne 0x43d195
mov edx, dword [ebp - 0x10]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 3], 0
jmp case.0x43b25e.14
jmp 0x43d99c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 2]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 3]
xor ecx, 0x80
sub ecx, 0x80
shl ecx, 8
mov edx, dword [ebp - 0x14]
add edx, ecx
mov dword [ebp - 0x14], edx
xor eax, eax
test eax, eax
jne case.0x43b25e.21
cmp dword [ebp - 0x14], 0
je 0x43d205
mov ecx, dword [ebp - 0x14]
sub ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov ecx, dword [ebp - 0x14]
sar ecx, 8
mov edx, dword [ebp - 0x10]
mov byte [edx + 3], cl
xor eax, eax
test eax, eax
jne 0x43d1df
jmp case.0x43b25e.12
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov dword [ebp - 0x10], ecx
jmp 0x43d99c
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
and eax, 0xff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 1]
xor edx, 0x80
sub edx, 0x80
shl edx, 8
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x14], eax
xor ecx, ecx
test ecx, ecx
jne case.0x43b25e.22
mov edx, dword [ebp - 0x10]
add edx, 2
mov dword [ebp - 0x10], edx
xor eax, eax
test eax, eax
jne case.0x43b25e.22
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
and eax, 0xff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 1]
xor edx, 0x80
sub edx, 0x80
shl edx, 8
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x14], eax
xor ecx, ecx
test ecx, ecx
jne 0x43d25f
mov edx, dword [ebp - 0x10]
add edx, 2
mov dword [ebp - 0x10], edx
xor eax, eax
test eax, eax
jne 0x43d25f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0x34]
mov byte [edx], cl
mov eax, dword [ebp - 0x14]
sar eax, 8
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 1], al
xor edx, edx
test edx, edx
jne 0x43d2a2
jmp 0x43d99c
cmp dword [ebp + 0x14], 0
je 0x43d2d8
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x270], eax
jmp 0x43d2e1
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x270]
je 0x43d3c9
cmp dword [ebp + 0x18], 0
je 0x43d3c9
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
je 0x43d3c9
mov ecx, dword [ebp - 0x24]
sub ecx, 1
cmp ecx, dword [ebp - 0x54]
jne 0x43d31e
mov edx, dword [ebp + 0x10]
mov al, byte [edx]
mov byte [ebp - 0x271], al
jmp 0x43d354
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp ecx, edx
jne 0x43d33c
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x272], cl
jmp 0x43d348
mov edx, dword [ebp - 0x24]
mov al, byte [edx - 1]
mov byte [ebp - 0x272], al
mov cl, byte [ebp - 0x272]
mov byte [ebp - 0x271], cl
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
jne 0x43d369
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x273], cl
jmp 0x43d399
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp dword [ebp - 0x24], edx
jne 0x43d382
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x274], cl
jmp 0x43d38d
mov edx, dword [ebp - 0x24]
mov al, byte [edx]
mov byte [ebp - 0x274], al
mov cl, byte [ebp - 0x274]
mov byte [ebp - 0x273], cl
movsx edx, byte [ebp - 0x271]
movsx eax, byte [edx + 0x543530]
sub eax, 1
neg eax
sbb eax, eax
inc eax
movsx ecx, byte [ebp - 0x273]
movsx edx, byte [ecx + 0x543530]
sub edx, 1
neg edx
sbb edx, edx
inc edx
cmp eax, edx
je 0x43d3ce
jmp 0x43d99c
jmp 0x43dc5c
cmp dword [ebp + 0x14], 0
je 0x43d3e4
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x278], eax
jmp 0x43d3ed
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x278]
je 0x43d4d5
cmp dword [ebp + 0x18], 0
je 0x43d4d5
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
je 0x43d4d5
mov ecx, dword [ebp - 0x24]
sub ecx, 1
cmp ecx, dword [ebp - 0x54]
jne 0x43d42a
mov edx, dword [ebp + 0x10]
mov al, byte [edx]
mov byte [ebp - 0x279], al
jmp 0x43d460
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp ecx, edx
jne 0x43d448
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x27a], cl
jmp 0x43d454
mov edx, dword [ebp - 0x24]
mov al, byte [edx - 1]
mov byte [ebp - 0x27a], al
mov cl, byte [ebp - 0x27a]
mov byte [ebp - 0x279], cl
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
jne 0x43d475
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x27b], cl
jmp 0x43d4a5
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp dword [ebp - 0x24], edx
jne 0x43d48e
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x27c], cl
jmp 0x43d499
mov edx, dword [ebp - 0x24]
mov al, byte [edx]
mov byte [ebp - 0x27c], al
mov cl, byte [ebp - 0x27c]
mov byte [ebp - 0x27b], cl
movsx edx, byte [ebp - 0x279]
movsx eax, byte [edx + 0x543530]
sub eax, 1
neg eax
sbb eax, eax
inc eax
movsx ecx, byte [ebp - 0x27b]
movsx edx, byte [ecx + 0x543530]
sub edx, 1
neg edx
sbb edx, edx
inc edx
cmp eax, edx
je 0x43d4da
jmp 0x43dc57
jmp 0x43d99c
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
jne 0x43d4f4
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
mov byte [ebp - 0x27d], dl
jmp 0x43d524
mov eax, dword [ebp + 0x10]
sub eax, 1
cmp dword [ebp - 0x24], eax
jne 0x43d50d
mov ecx, dword [ebp - 0x54]
mov dl, byte [ecx - 1]
mov byte [ebp - 0x27e], dl
jmp 0x43d518
mov eax, dword [ebp - 0x24]
mov cl, byte [eax]
mov byte [ebp - 0x27e], cl
mov dl, byte [ebp - 0x27e]
mov byte [ebp - 0x27d], dl
movsx eax, byte [ebp - 0x27d]
movsx ecx, byte [eax + 0x543530]
cmp ecx, 1
jne 0x43d5cc
cmp dword [ebp + 0x14], 0
je 0x43d54c
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x284], edx
jmp 0x43d555
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x284]
je 0x43d5c7
cmp dword [ebp + 0x18], 0
je 0x43d5c7
mov edx, dword [ebp - 0x24]
sub edx, 1
cmp edx, dword [ebp - 0x54]
jne 0x43d57e
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x285], cl
jmp 0x43d5b4
mov edx, dword [ebp - 0x24]
sub edx, 1
mov eax, dword [ebp + 0x10]
sub eax, 1
cmp edx, eax
jne 0x43d59c
mov ecx, dword [ebp - 0x54]
mov dl, byte [ecx - 1]
mov byte [ebp - 0x286], dl
jmp 0x43d5a8
mov eax, dword [ebp - 0x24]
mov cl, byte [eax - 1]
mov byte [ebp - 0x286], cl
mov dl, byte [ebp - 0x286]
mov byte [ebp - 0x285], dl
movsx eax, byte [ebp - 0x285]
movsx ecx, byte [eax + 0x543530]
cmp ecx, 1
je 0x43d5cc
jmp 0x43d99c
jmp 0x43dc52
cmp dword [ebp + 0x14], 0
je 0x43d5e2
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x28c], edx
jmp 0x43d5eb
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x28c]
je 0x43d6ca
cmp dword [ebp + 0x18], 0
je 0x43d6ca
mov edx, dword [ebp - 0x24]
sub edx, 1
cmp edx, dword [ebp - 0x54]
jne 0x43d61c
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x28d], cl
jmp 0x43d652
mov edx, dword [ebp - 0x24]
sub edx, 1
mov eax, dword [ebp + 0x10]
sub eax, 1
cmp edx, eax
jne 0x43d63a
mov ecx, dword [ebp - 0x54]
mov dl, byte [ecx - 1]
mov byte [ebp - 0x28e], dl
jmp 0x43d646
mov eax, dword [ebp - 0x24]
mov cl, byte [eax - 1]
mov byte [ebp - 0x28e], cl
mov dl, byte [ebp - 0x28e]
mov byte [ebp - 0x28d], dl
movsx eax, byte [ebp - 0x28d]
movsx ecx, byte [eax + 0x543530]
cmp ecx, 1
jne 0x43d6ca
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
jne 0x43d67a
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x28f], cl
jmp 0x43d6aa
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp dword [ebp - 0x24], edx
jne 0x43d693
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x290], cl
jmp 0x43d69e
mov edx, dword [ebp - 0x24]
mov al, byte [edx]
mov byte [ebp - 0x290], al
mov cl, byte [ebp - 0x290]
mov byte [ebp - 0x28f], cl
movsx edx, byte [ebp - 0x28f]
movsx eax, byte [edx + 0x543530]
cmp eax, 1
jne 0x43d6c5
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x5c]
jne 0x43d6ca
jmp 0x43d99c
jmp 0x43dc4d
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x78]
jne 0x43d6f2
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x50]
jne 0x43d6e4
jmp 0x43dc48
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x78], edx
jmp case.0x43b25e.23
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
jne 0x43d707
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
mov byte [ebp - 0x291], dl
jmp 0x43d737
mov eax, dword [ebp + 0x10]
sub eax, 1
cmp dword [ebp - 0x24], eax
jne 0x43d720
mov ecx, dword [ebp - 0x54]
mov dl, byte [ecx - 1]
mov byte [ebp - 0x292], dl
jmp 0x43d72b
mov eax, dword [ebp - 0x24]
mov cl, byte [eax]
mov byte [ebp - 0x292], cl
mov dl, byte [ebp - 0x292]
mov byte [ebp - 0x291], dl
movsx eax, byte [ebp - 0x291]
movsx ecx, byte [eax + 0x543530]
cmp ecx, 1
je 0x43d74f
jmp 0x43dc43
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x124], eax
jmp 0x43d781
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov edx, dword [ebp - 0x124]
adc edx, 0
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 8]
jg 0x43d81c
jl 0x43d79d
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0xc]
ja 0x43d81c
push 0
push 4
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x128]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 0x10
push 0
push 4
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x128]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
push 0
push 4
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x128]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 8
push 0
push 4
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x128]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
jmp 0x43d763
xor edx, edx
test edx, edx
jne 0x43d74f
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x43d99c
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x78]
jne 0x43d857
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x50]
jne 0x43d849
jmp 0x43dc3e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], ecx
jmp case.0x43b25e.24
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
jne 0x43d86c
mov eax, dword [ebp + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0x293], cl
jmp 0x43d89c
mov edx, dword [ebp + 0x10]
sub edx, 1
cmp dword [ebp - 0x24], edx
jne 0x43d885
mov eax, dword [ebp - 0x54]
mov cl, byte [eax - 1]
mov byte [ebp - 0x294], cl
jmp 0x43d890
mov edx, dword [ebp - 0x24]
mov al, byte [edx]
mov byte [ebp - 0x294], al
mov cl, byte [ebp - 0x294]
mov byte [ebp - 0x293], cl
movsx edx, byte [ebp - 0x293]
movsx eax, byte [edx + 0x543530]
cmp eax, 1
jne 0x43d8b4
jmp 0x43dc39
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x12c], edx
jmp 0x43d8e6
mov eax, dword [ebp - 0x130]
add eax, 1
mov ecx, dword [ebp - 0x12c]
adc ecx, 0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 8]
jg 0x43d981
jl 0x43d902
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0xc]
ja 0x43d981
push 0
push 4
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x130]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 0x10
push 0
push 4
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x130]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
push 0
push 4
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x130]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + eax]
or esi, 8
push 0
push 4
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x130]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax], esi
jmp 0x43d8c8
xor edx, edx
test edx, edx
jne 0x43d8b4
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x43d99c
call dword [sym.imp.MSVCRT.dll_abort]
jmp 0x43ad7e
cmp dword [ebp - 0x44], 0
je 0x43dc18
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
je 0x43d9d5
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + edx*4]
cdq
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + edx*4]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x138], edx
jmp 0x43da4e
mov eax, dword [ebp - 0x13c]
sub eax, 1
mov ecx, dword [ebp - 0x138]
sbb ecx, 0
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
cmp edx, dword [ebp - 0x64]
jl 0x43db00
jg 0x43da6e
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x68]
jb 0x43db00
mov ecx, dword [ebp - 0x44]
sub ecx, 1
mov dword [ebp - 0x44], ecx
push 0
push 4
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
push 0
push 4
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
push 0
push 4
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call sub.ntdll.dll__allmul
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax], edx
jmp 0x43da30
cmp dword [ebp - 0x10], 0
jne 0x43db0b
jmp 0x43d9a1
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x30]
jae case.0x43db5f.2
mov byte [ebp - 0x140], 0
cmp dword [ebp - 0x10], 0
je case.0x43db5f.2
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x298]
sub eax, 0xc
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 9
ja case.0x43db5f.2
mov edx, dword [ebp - 0x298]
xor ecx, ecx
mov cl, byte [edx + 0x43dd5d]
jmp dword [ecx*4 + 0x43dd51]
mov byte [ebp - 0x140], 1
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [ecx]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov cl, byte [eax + 1]
xor ecx, 0x80
sub ecx, 0x80
shl ecx, 8
mov edx, dword [ebp - 0x14]
add edx, ecx
mov dword [ebp - 0x14], edx
xor eax, eax
test eax, eax
jne 0x43db76
mov ecx, dword [ebp - 0x34]
add ecx, 2
mov dword [ebp - 0x34], ecx
xor edx, edx
test edx, edx
jne 0x43db76
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x140]
and ecx, 0xff
test ecx, ecx
je 0x43dbdf
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x14
je 0x43dbfb
mov ecx, dword [ebp - 0x140]
and ecx, 0xff
test ecx, ecx
jne case.0x43db5f.2
mov edx, dword [ebp - 0x34]
xor eax, eax
mov al, byte [edx]
cmp eax, 0xe
jne case.0x43db5f.2
jmp 0x43d9a1
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp + 0xc]
jb 0x43dc16
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x54]
ja 0x43dc16
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x78], eax
jmp 0x43dc1a
jmp 0x43dc1f
jmp 0x43ad7e
cmp dword [ebp - 0x2c], 0
je 0x43dc2a
jmp 0x43ae6f
xor eax, eax
call sub.ntdll.dll__alloca_probe
or eax, 0xffffffff
jmp 0x43dcbb
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp case.0x43b25e.12
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
jmp 0x43d9a1
lea esp, [ebp - 0x2a0]
pop edi
pop esi
mov esp, ebp
pop ebp
ret