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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b5abe
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], ecx
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
fldz
mov dword [esp + 0x70], eax
mov eax, dword [edi + 4]
fstp qword [esp + 0x174]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x169], 0
mov byte [esp + 0x168], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov byte [esp + 0x200], 1
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0x200], 2
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov byte [esp + 0x200], 3
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov byte [esp + 0x200], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0x200], 5
mov dword [esp + 0xb4], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov byte [esp + 0x200], 6
mov byte [esp + 0x15], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x32], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 0x6c], 0
mov byte [esp + 0x3b], 0
mov byte [esp + 0x33], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x200], 7
lea ecx, [esp + 0x3c]
push 0x14
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0x14
call fcn.100941d0
mov byte [esp + 0x200], 8
lea ecx, [esp + 0x184]
mov word [esp + 0x1d4], 0xff00
mov edx, 8
jmp 0x1002b780
fldz
fstp xword [esp + 0x1dc]
mov eax, dword [esp + 0x1dc]
lea ecx, [ecx + 0xa]
mov dword [ecx - 0xa], eax
mov eax, dword [esp + 0x1e0]
mov dword [ecx - 6], eax
mov ax, word [esp + 0x1e4]
mov word [ecx - 2], ax
dec edx
jne 0x1002b780
xor al, al
lea ecx, [esp + 0x18]
mov byte [esp + 0x16], al
mov bl, 1
xor eax, eax
mov byte [esp + 0x2c], bl
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], eax
lea eax, [edi + 0x10]
push ecx
mov ecx, eax
mov dword [esp + 0xe0], eax
call fcn.10094f40
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0xe4]
push esi
push dword [esp + 0x78]
push dword [esp + 0x58]
call fcn.1001d150
test bl, bl
je 0x1002d2de
cmp esi, dword [edi + 8]
jae 0x1002d2de
mov eax, dword [esp + 0xe4]
add eax, esi
cmp eax, dword [esp + 0xe8]
ja 0x1002b81e
mov dword [esp + 0xec], eax
lea edx, [esp + 0x9b]
lea ecx, [esp + 0xe4]
call fcn.100ae1f0
mov dword [esp + 0x68], eax
test eax, eax
je 0x1002d2e5
mov edx, dword [esp + 0x50]
xor bh, bh
mov byte [esp + 0x17], 1
mov cl, byte [edx + esi]
mov bl, cl
and bl, 7
mov byte [esp + 0x54], bl
cmp eax, 1
jne 0x1002bbb1
movzx eax, cl
add eax, 0xffffffc0
cmp eax, 0x83
ja case.0x1002b875.96
movzx eax, byte [eax + 0x1002d500]
jmp dword [eax*4 + 0x1002d4e4]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
sub ecx, edx
movzx eax, bl
mov eax, dword [esp + eax*4 + 0x144]
mov ebx, eax
mov dword [esp + 0x34], eax
movzx eax, ax
mov dword [esp + 0x54], eax
shr ebx, 0x10
mov ax, bx
shr ax, 8
movzx eax, ax
mov dword [esp + 0x1dc], eax
lea eax, [esi + 1]
cmp eax, ecx
jbe 0x1002b8d4
mov eax, dword [esp + 0x4c]
add eax, ecx
lea ecx, [esp + 0x3c]
push eax
call fcn.100941d0
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1dc]
mov byte [edx + esi], al
mov ecx, dword [esp + 0x48]
inc ecx
movzx ebx, bl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
sub edx, esi
lea eax, [ecx + 1]
cmp eax, edx
jbe 0x1002b913
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x3c]
add eax, edx
push eax
call fcn.100941d0
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov byte [esi + ecx], bl
mov ecx, dword [esp + 0x48]
inc ecx
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x54]
mov ax, bx
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
sub edx, esi
shr ax, 8
movzx eax, ax
mov dword [esp + 0x1dc], eax
lea eax, [ecx + 1]
cmp eax, edx
jbe 0x1002b95d
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x3c]
add eax, edx
push eax
call fcn.100941d0
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x1dc]
mov byte [esi + ecx], al
mov ecx, dword [esp + 0x48]
inc ecx
movzx ebx, bl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
sub edx, esi
lea eax, [ecx + 1]
cmp eax, edx
jbe 0x1002b99c
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x3c]
add eax, edx
push eax
call fcn.100941d0
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
sub dword [esp + 0x154], 4
mov byte [esi + ecx], bl
lea ecx, [esp + 0x3c]
inc dword [esp + 0x48]
call fcn.1002da40
test al, al
je 0x1002b9bd
mov byte [esp + 0x16], 1
mov bh, 1
jmp 0x1002be6a
mov eax, dword [esp + 0x48]
cmp eax, 1
jb 0x1002ba5c
mov ecx, dword [esp + 0x3c]
mov dl, byte [ecx + eax - 1]
dec eax
mov byte [esp + 0x31], dl
mov dword [esp + 0x48], eax
cmp eax, 1
jb 0x1002ba5c
mov dl, byte [ecx + eax - 1]
dec eax
mov byte [esp + 0x30], dl
mov dword [esp + 0x48], eax
cmp eax, 1
jb 0x1002ba5c
mov bh, byte [ecx + eax - 1]
dec eax
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x67]
push eax
call fcn.1009c850
test al, al
je 0x1002ba5c
movzx ecx, byte [esp + 0x67]
shl cx, 8
movzx eax, bh
mov bh, 1
or cx, ax
mov al, byte [esp + 0x31]
movzx edx, cx
movzx ecx, byte [esp + 0x30]
shl cx, 8
movzx eax, al
or cx, ax
movzx eax, cx
mov ecx, edx
shl ecx, 0x10
or ecx, eax
movzx eax, bl
mov dword [esp + eax*4 + 0x144], ecx
add dword [esp + 0x154], 4
jmp case.0x1002b875.96
mov byte [esp + 0x15], 1
mov bh, 1
jmp case.0x1002b875.96
movzx eax, bl
mov bh, 1
inc dword [esp + eax*4 + 0x144]
jmp case.0x1002b875.96
movzx eax, bl
mov bh, 1
dec dword [esp + eax*4 + 0x144]
jmp case.0x1002b875.96
mov ecx, dword [esp + 0x48]
cmp ecx, 4
jb 0x1002bb7d
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + ecx - 4]
sub ecx, 4
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x70]
add dword [esp + 0x154], 4
mov dword [esp + 0x60], ebx
call fcn.100952e0
mov ecx, dword [esp + 0x70]
mov edi, ebx
sub edi, dword [eax + 0x1c]
mov eax, dword [esp + 0x1c]
movzx esi, word [eax + 0xc]
call fcn.10095320
mov ecx, eax
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp esi, eax
jae 0x1002bae8
mov eax, dword [ecx + 8]
mov esi, dword [eax + esi*4]
jmp 0x1002baea
xor esi, esi
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
cmp edi, ebx
jb 0x1002bb64
cmp byte [esi + 0x24], 0
jne 0x1002bb00
mov ecx, esi
call fcn.10097cc0
mov eax, dword [esi + 0x20]
add eax, ebx
cmp edi, eax
jae 0x1002bb64
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x54]
push 1
push eax
lea eax, [esp + 0x9c]
push eax
push edi
call fcn.100951f0
mov edi, dword [esp + 0x1c]
test al, al
jne 0x1002bb57
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x2b], 0
mov bh, 1
je 0x1002bb84
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
inc eax
add eax, ecx
mov byte [esp + 0x2b], 0
mov dword [esp + 0x20], eax
xor cl, cl
jmp 0x1002be76
mov esi, dword [esp + 0x94]
mov dword [esp + 0x18], esi
jmp 0x1002bb33
cmp byte [esp + 0x3a], 0
mov edi, dword [esp + 0x1c]
je 0x1002bb2a
cmp dword [esp + 0x24], 0
jne 0x1002bb2f
mov byte [esp + 0x16], 1
jmp 0x1002bb2f
mov byte [esp + 0x15], 1
jmp 0x1002bb33
mov eax, dword [esp + 0x20]
inc dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x58]
add eax, ecx
mov dword [esp + 0x20], eax
xor cl, cl
jmp 0x1002be76
cmp byte [esp + 0x3b], 0
jne 0x1002bbaa
mov byte [esp + 0x3b], 1
mov bh, 1
jmp case.0x1002b875.96
dec eax
add eax, esi
cmp eax, dword [esp + 0x74]
ja 0x1002d2de
mov bl, byte [edx + esi + 1]
lea edi, [edx + esi]
mov dh, byte [edi + 2]
mov al, bl
and al, 0xf0
mov ch, bl
mov byte [esp + 0x30], al
mov dl, bl
movzx eax, cl
and ch, 8
and dl, 7
mov byte [esp + 0x31], ch
mov byte [esp + 0x2d], dl
mov dword [esp + 0x1dc], eax
lea esi, [eax - 1]
cmp esi, 0xfe
ja case.0x1002bc02.2
movzx eax, byte [esi + 0x1002d5e0]
jmp dword [eax*4 + 0x1002d584]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov ebx, dword [esp + 0x50]
movzx eax, byte [ebx + esi + 4]
push eax
call fcn.1009c810
movzx eax, byte [ebx + esi + 3]
lea ecx, [esp + 0x3c]
push eax
call fcn.1009c810
movzx eax, byte [edi + 2]
lea ecx, [esp + 0x3c]
push eax
call fcn.1009c810
movzx eax, byte [ebx + esi + 1]
lea ecx, [esp + 0x3c]
push eax
call fcn.1009c810
sub dword [esp + 0x154], 4
lea ecx, [esp + 0x3c]
call fcn.1002da40
test al, al
je 0x1002bc66
mov byte [esp + 0x16], 1
mov edi, dword [esp + 0x1c]
mov bh, 1
jmp case.0x1002b875.96
mov byte [esp + 0xd8], bl
lea ecx, [esp + 0x3c]
and bl, 0x80
neg bl
sbb bl, bl
mov byte [esp + 0xe0], bl
mov esi, dword [esp + 0xe0]
push esi
call fcn.1009c810
push esi
lea ecx, [esp + 0x40]
call fcn.1009c810
push esi
lea ecx, [esp + 0x40]
call fcn.1009c810
push dword [esp + 0xd8]
lea ecx, [esp + 0x40]
call fcn.1009c810
sub dword [esp + 0x154], 4
jmp 0x1002be64
mov edx, dword [esp + 0x48]
cmp edx, 4
jb 0x1002bd99
mov eax, dword [esp + 0x3c]
mov edi, 0x100
mov ebx, dword [eax + edx - 4]
sub edx, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], edx
mov esi, dword [esp + 0x18]
add dword [esp + 0x154], 4
mov dword [esp + 0x60], ebx
movzx ecx, byte [eax + esi + 2]
movzx eax, byte [eax + esi + 1]
imul cx, di
add cx, ax
cmp byte [esp + 0x15], 0
movzx eax, cx
mov dword [esp + 0x6c], eax
jne 0x1002bda2
test eax, 0xfffc
je 0x1002bd3e
cmp edx, 4
jb 0x1002bd9d
sub edx, 4
add eax, 0xfffc
mov dword [esp + 0x48], edx
mov dword [esp + 0x6c], eax
jmp 0x1002bd20
mov edi, dword [esp + 0x70]
mov ecx, edi
call fcn.100952e0
mov esi, ebx
mov ecx, edi
sub esi, dword [eax + 0x1c]
mov eax, dword [esp + 0x1c]
push esi
movzx eax, word [eax + 0xc]
push eax
call fcn.10095320
mov ecx, eax
call fcn.100955a0
mov ecx, eax
call fcn.100957b0
test al, al
je 0x1002bd99
push 1
lea eax, [esp + 0x58]
mov ecx, edi
push eax
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.100951f0
test al, al
je 0x1002bd99
mov esi, dword [esp + 0x94]
mov dword [esp + 0x18], esi
jmp 0x1002bda2
mov esi, dword [esp + 0x18]
mov byte [esp + 0x15], 1
cmp byte [esp + 0x2b], 0
mov bh, 1
je 0x1002bdb2
mov byte [esp + 0x2b], 0
jmp 0x1002bdb6
inc dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
inc eax
mov edi, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x20], eax
xor cl, cl
jmp 0x1002be76
movzx eax, bl
sub eax, 0xc4
je 0x1002bf78
sub eax, 0x28
je 0x1002bee9
cmp bl, 0xc0
jb case.0x1002cb55.1
cmp dl, 4
je case.0x1002cb55.1
test dh, dh
jns 0x1002be0b
movzx eax, dh
mov ebx, 0xff00
or ax, bx
movzx esi, ax
or esi, 0xffff0000
jmp 0x1002be0e
movzx esi, dh
movzx eax, byte [esp + 0x30]
sub eax, 0xc0
je 0x1002becd
sub eax, 0x20
je 0x1002beb4
sub eax, 0x10
jne 0x1002be64
movzx eax, dl
test ch, ch
jne 0x1002be3c
xor dword [esp + eax*4 + 0x144], esi
jmp 0x1002be64
push esi
push dword [esp + eax*4 + 0x148]
lea ecx, [esp + 0x14c]
call fcn.1002b280
mov edi, dword [esp + 0x1c]
mov cl, byte [esp + 0x2d]
movzx eax, cl
mov word [edi + 0x42], ax
mov byte [esp + 0x2f], 1
mov bh, 1
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov cl, byte [esp + 0x17]
mov bl, byte [esp + 0x15]
mov edx, dword [esp + 0x24]
mov ch, byte [esp + 0x16]
cmp byte [esp + 0x2e], 0
jne 0x1002d2ac
test bl, bl
jne 0x1002d2ac
test bh, bh
jne 0x1002d297
inc edx
mov dword [esp + 0x24], edx
cmp edx, 1
jb 0x1002d288
mov byte [esp + 0x2c], bl
jmp 0x1002d2ca
movzx eax, dl
test ch, ch
jne 0x1002bec4
and dword [esp + eax*4 + 0x144], esi
jmp 0x1002be64
sub dword [esp + eax*4 + 0x144], esi
jmp 0x1002be64
movzx eax, dl
test ch, ch
jne 0x1002bedd
add dword [esp + eax*4 + 0x144], esi
jmp 0x1002be64
or dword [esp + eax*4 + 0x144], esi
jmp 0x1002be64
test dh, dh
jns 0x1002bf3e
neg dh
movzx eax, dh
add dword [esp + 0x154], eax
cmp byte [esp + 0x15], 0
jne 0x1002be64
mov cx, word [esp + 0x6c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
shr cx, 2
test cx, cx
je 0x1002be64
cmp eax, 4
jb 0x1002bf34
mov ebx, dword [edx + eax - 4]
sub eax, 4
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], eax
jmp 0x1002bf15
mov byte [esp + 0x15], 1
jmp 0x1002be64
movzx eax, dh
sub dword [esp + 0x154], eax
cmp byte [esp + 0x15], 0
jne 0x1002be64
mov si, word [esp + 0x6c]
shr si, 2
lea esp, [esp]
test si, si
je 0x1002be64
push dword [esp + 0x60]
lea ecx, [esp + 0x40]
call fcn.1009c8b0
jmp 0x1002bf60
test dh, dh
jns 0x1002bfb8
neg dh
movzx eax, dh
sub dword [esp + 0x154], eax
cmp byte [esp + 0x15], 0
jne 0x1002be64
mov si, word [esp + 0x6c]
shr si, 2
lea esp, [esp]
test si, si
je 0x1002be64
push dword [esp + 0x60]
lea ecx, [esp + 0x40]
call fcn.1009c8b0
jmp 0x1002bfa0
movzx eax, dh
add dword [esp + 0x154], eax
cmp byte [esp + 0x15], 0
jne 0x1002be64
mov cx, word [esp + 0x6c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
shr cx, 2
mov edi, edi
test cx, cx
je 0x1002be64
cmp eax, 4
jb 0x1002bf34
mov ebx, dword [edx + eax - 4]
sub eax, 4
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], eax
jmp 0x1002bfe0
cmp byte [esp + 0x2b], 0
mov esi, dword [esp + 0x18]
je 0x1002c023
mov edi, dword [esp + 0x1c]
mov bl, 1
mov eax, dword [esp + 0x20]
mov cl, bl
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0xb4]
push ecx
lea eax, [esi + 5]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
call fcn.100979a0
mov edi, dword [esp + 0x1c]
test al, al
jne 0x1002c054
mov eax, dword [esp + 0x20]
mov bl, 1
mov byte [esp + 0x15], bl
mov cl, bl
jmp 0x1002be7a
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
cmp eax, edx
je 0x1002c043
mov cx, word [eax + 4]
cmp cx, word [edi + 0xc]
je 0x1002c075
add eax, 8
jmp 0x1002c062
mov edi, dword [eax]
lea eax, [esi + 5]
cmp eax, dword [esp + 0x74]
ja 0x1002c00e
mov edx, dword [esp + 0x50]
movzx ecx, byte [edx + esi + 4]
movzx eax, byte [edx + esi + 3]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 1]
shl ecx, 8
add ecx, eax
mov eax, ecx
shr eax, 0x1f
test al, 1
je 0x1002c0b7
not ecx
inc ecx
sub esi, ecx
jmp 0x1002c0b9
add esi, ecx
lea eax, [esp + 0xc0]
mov edx, 0xa
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esi + 5]
call fcn.1002db20
add esp, 8
mov byte [esp + 0x2e], al
test al, al
jne 0x1002c142
mov ecx, dword [esp + 0x70]
call fcn.100952e0
lea ecx, [esp + 0x3c]
mov eax, dword [eax + 0x1c]
add eax, edi
push eax
mov dword [esp + 0x64], eax
call fcn.1009c8b0
sub dword [esp + 0x154], 4
mov ecx, dword [esp + 0x18]
cmp esi, ecx
je 0x1002c133
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
mov byte [esp + 0x2b], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x8c], eax
mov edi, dword [esp + 0x1c]
mov bh, 1
mov dword [esp + 0x18], esi
jmp case.0x1002b875.96
mov esi, dword [esp + 0x18]
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
cmp byte [esp + 0x2b], 0
mov edx, 2
mov esi, dword [esp + 0x18]
mov ecx, esi
je 0x1002c174
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
jmp 0x1002c183
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.1002db20
add esp, 8
mov byte [esp + 0x2e], al
test al, al
jne 0x1002bc66
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
lea ecx, [ecx + 0x1c]
call fcn.10094f40
mov esi, dword [esp + 0x18]
lea eax, [esi + 1]
cmp eax, dword [esp + 0x74]
ja 0x1002c1db
mov edi, dword [esp + 0x50]
mov al, byte [edi + eax]
test al, al
jns 0x1002c1d0
not al
inc al
movzx eax, al
sub esi, eax
mov dword [esp + 0x18], esi
jmp 0x1002c1e0
movzx eax, al
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x1002c1e0
mov byte [esp + 0x15], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xdc]
add eax, esi
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1dc]
push eax
call fcn.10094ea0
mov edi, dword [esp + 0x1c]
mov bh, 1
jmp case.0x1002b875.96
cmp byte [esp + 0x2b], 0
mov edx, 2
mov esi, dword [esp + 0x18]
mov ecx, esi
je 0x1002c22f
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
jmp 0x1002c23e
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.1002db20
add esp, 8
mov byte [esp + 0x2e], al
test al, al
jne 0x1002bc66
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
lea ecx, [ebx + 0x1c]
call fcn.10094f40
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x1c]
inc eax
push eax
push dword [ebx]
call fcn.1002e0c0
add esp, 0xc
test al, al
jne 0x1002c28a
mov byte [esp + 0x15], 1
mov eax, dword [esp + 0x68]
lea ecx, [ebx + 0x10]
mov esi, dword [esp + 0x18]
add eax, esi
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1dc]
push eax
call fcn.10094ea0
mov edi, dword [esp + 0x1c]
mov bh, 1
jmp case.0x1002b875.96
cmp bl, 0xc0
jb case.0x1002cb55.1
cmp dl, 4
je case.0x1002cb55.1
lea ecx, [edi + 2]
call fcn.1001ca30
movzx ecx, byte [esp + 0x30]
mov edi, eax
sub ecx, 0xc0
je 0x1002c35c
sub ecx, 0x20
je 0x1002c334
sub ecx, 0x10
jne 0x1002be64
cmp byte [esp + 0x31], cl
jne 0x1002c306
mov cl, byte [esp + 0x2d]
movzx eax, cl
xor dword [esp + eax*4 + 0x144], edi
jmp 0x1002be64
mov bl, byte [esp + 0x2d]
lea ecx, [esp + 0x144]
movzx eax, bl
push edi
push dword [esp + eax*4 + 0x148]
call fcn.1002b280
mov ecx, dword [esp + 0x1c]
movzx eax, bl
mov dword [ecx + 0x44], edi
mov word [ecx + 0x42], ax
jmp 0x1002be5f
cmp byte [esp + 0x31], 0
jne 0x1002c34e
mov cl, byte [esp + 0x2d]
movzx eax, cl
and dword [esp + eax*4 + 0x144], edi
jmp 0x1002be64
movzx esi, byte [esp + 0x2d]
sub dword [esp + esi*4 + 0x144], edi
jmp 0x1002c36f
cmp byte [esp + 0x31], 0
jne 0x1002c3a1
movzx esi, byte [esp + 0x2d]
add dword [esp + esi*4 + 0x144], edi
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
lea ecx, [ebx + 0x28]
call fcn.10094f40
lea eax, [esp + 0x1dc]
mov dword [esp + 0x1dc], esi
push eax
lea ecx, [ebx + 0x34]
call fcn.10094f40
mov byte [esp + 0x32], 1
jmp 0x1002be64
mov cl, byte [esp + 0x2d]
movzx eax, cl
or dword [esp + eax*4 + 0x144], edi
jmp 0x1002be64
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
movzx ecx, byte [edx + esi + 4]
movzx eax, byte [edx + esi + 3]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 1]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0x1dc]
add eax, 0xfffffffb
cmp eax, 0x38
ja case.0x1002c3f9.6
movzx eax, byte [eax + 0x1002d6fc]
jmp dword [eax*4 + 0x1002d6e0]
add dword [esp + 0x144], ecx
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
or dword [esp + 0x144], ecx
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
and dword [esp + 0x144], ecx
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
sub dword [esp + 0x144], ecx
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
xor dword [esp + 0x144], ecx
mov bh, 1
mov edi, dword [esp + 0x1c]
jmp case.0x1002b875.96
push ecx
push dword [esp + 0x148]
lea ecx, [esp + 0x14c]
call fcn.1002b280
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov byte [esp + 0x2f], 1
mov word [eax + 0x42], cx
mov edi, dword [esp + 0x1c]
mov bh, 1
jmp case.0x1002b875.96
cmp bl, 0xd0
jb case.0x1002cb55.1
movzx eax, dl
mov ecx, dword [esp + eax*4 + 0x144]
mov dword [esp + 0x34], ecx
cmp bl, 0xd7
ja 0x1002c4b2
not ecx
mov dword [esp + eax*4 + 0x144], ecx
jmp 0x1002c5cb
cmp bl, 0xdf
ja 0x1002c4c6
not ecx
inc ecx
mov dword [esp + eax*4 + 0x144], ecx
jmp 0x1002c5cb
cmp bl, 0xe7
ja 0x1002c4f6
mov eax, ecx
mov dword [esp + 0x1e0], 0
mul dword [esp + 0x144]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x14c], edx
jmp 0x1002c5c4
cmp bl, 0xef
ja 0x1002c520
mov eax, dword [esp + 0x144]
imul ecx
mov dword [esp + 0x1e0], 0
mov ecx, edx
mov dword [esp + 0x14c], edx
sar ecx, 0x1f
jmp 0x1002c5c4
cmp bl, 0xf7
ja 0x1002c571
mov edx, dword [esp + 0x14c]
xor eax, eax
add eax, dword [esp + 0x144]
adc edx, 0
test ecx, ecx
jne 0x1002c557
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
push 0
push ecx
push edx
push eax
call fcn.100b4400
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e0], edx
jmp 0x1002c5bd
mov edi, dword [esp + 0x14c]
xor esi, esi
add esi, dword [esp + 0x144]
adc edi, 0
test ecx, ecx
jne 0x1002c5a3
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
mov eax, ecx
cdq
push edx
push eax
push edi
push esi
call fcn.100b42c0
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x144], eax
mov bl, byte [esp + 0x15]
mov bh, 1
mov esi, dword [esp + 0x18]
mov cl, bh
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x1002be7a
mov al, bl
add al, 0x40
cmp al, 0xf
ja case.0x1002cb55.1
movzx esi, dl
lea ecx, [esp + 0x34]
shr bl, 3
mov dl, dh
mov eax, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x34], eax
and bl, 1
je 0x1002c61d
call fcn.1001cdd0
mov dword [esp + esi*4 + 0x144], eax
jmp 0x1002be64
call fcn.1001ce00
mov dword [esp + esi*4 + 0x144], eax
jmp 0x1002be64
cmp bl, 0xc0
jb 0x1002c638
cmp bl, 0xcf
jbe 0x1002c64b
cmp bl, 0xe0
jb 0x1002c642
cmp bl, 0xef
jbe 0x1002c64b
cmp bl, 0xf8
jb case.0x1002cb55.1
mov al, byte [esp + 0x30]
movzx esi, dl
shr bl, 3
and bl, 1
mov ecx, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x34], ecx
cmp al, 0xc0
jne 0x1002c697
lea ecx, [esp + 0x34]
mov dl, 1
test bl, bl
je 0x1002c684
call fcn.1001cdd0
mov ecx, eax
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
call fcn.1001ce00
mov ecx, eax
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
cmp al, 0xe0
jne 0x1002c6bb
test bl, bl
je 0x1002c6ad
shr ecx, 1
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
add ecx, ecx
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
mov eax, ecx
and ecx, 0x80000000
shr eax, 1
or ecx, eax
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
movzx eax, bl
add eax, 0xffffff5c
cmp eax, 0x1d
ja case.0x1002c6eb.165
movzx eax, byte [eax + 0x1002d754]
jmp dword [eax*4 + 0x1002d738]
mov dl, dh
mov cl, dh
and dh, 3
shr dl, 3
movzx eax, dh
and dl, 7
shr cl, 2
mov eax, dword [esp + eax*4 + 0x144]
and cl, 1
je 0x1002c71d
movzx eax, ax
shr ax, 8
movzx eax, ax
jmp 0x1002c720
movzx eax, al
cmp bl, 0xbe
jne 0x1002c750
test al, al
jns 0x1002c750
movzx eax, al
mov ecx, 0xff00
or ax, cx
movzx ecx, ax
movzx eax, dl
or ecx, 0xffff0000
mov dword [esp + 0x34], ecx
mov dword [esp + eax*4 + 0x144], ecx
jmp 0x1002be64
movzx ecx, al
movzx eax, dl
mov dword [esp + 0x34], ecx
mov dword [esp + eax*4 + 0x144], ecx
jmp 0x1002be64
mov dl, dh
and dh, 7
shr dl, 3
and dl, 7
movzx eax, dh
movzx edx, dl
mov ecx, dword [esp + eax*4 + 0x144]
mov eax, dword [esp + edx*4 + 0x144]
imul eax, ecx
mov dword [esp + edx*4 + 0x144], eax
jmp 0x1002be64
mov edi, dword [esp + 0x1c]
mov bl, byte [esp + 0x15]
cmp dh, 0xc0
jb 0x1002c7d5
mov al, dh
mov bh, 1
shr al, 3
and dh, 7
and al, 7
movzx edx, dh
movzx esi, al
mov ecx, dword [esp + edx*4 + 0x144]
mov eax, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x34], eax
add eax, ecx
mov dword [esp + edx*4 + 0x144], eax
mov dword [esp + esi*4 + 0x144], ecx
mov esi, dword [esp + 0x18]
mov cl, byte [esp + 0x17]
mov eax, dword [esp + 0x20]
jmp 0x1002be7a
cmp dh, 0xc0
jb case.0x1002cb55.1
mov ecx, dword [esp + 0x18]
mov al, dh
mov edi, dword [esp + 0x50]
and dh, 7
shr al, 3
and al, 7
movzx esi, dh
mov bh, byte [edi + ecx + 3]
cmp bl, 0xa4
jne 0x1002c83d
movzx eax, al
xor edx, edx
movzx ecx, bh
mov eax, dword [esp + eax*4 + 0x144]
add eax, edx
adc edx, dword [esp + esi*4 + 0x144]
call fcn.100b43e0
mov dword [esp + 0x1dc], eax
mov dword [esp + esi*4 + 0x144], edx
jmp 0x1002be64
movzx ecx, al
xor eax, eax
add eax, dword [esp + esi*4 + 0x144]
mov edx, dword [esp + ecx*4 + 0x144]
adc edx, 0
movzx ecx, bh
call fcn.100b44a0
mov dword [esp + 0x1e0], edx
mov dword [esp + esi*4 + 0x144], eax
jmp 0x1002be64
cmp dh, 0xe8
jb case.0x1002cb55.1
mov ecx, dword [esp + 0x18]
mov al, dh
and al, 7
movzx edi, al
mov eax, dword [esp + 0x50]
mov esi, dword [esp + edi*4 + 0x144]
mov al, byte [eax + ecx + 3]
mov dword [esp + 0x34], esi
cmp al, 0x1f
ja 0x1002be64
movzx ecx, al
mov ebx, esi
shr ebx, cl
mov eax, 1
shl eax, cl
and ebx, 1
mov ecx, eax
not ecx
cmp dh, 0xef
ja 0x1002c8cd
test bl, bl
jne 0x1002be64
or eax, esi
mov dword [esp + edi*4 + 0x144], eax
jmp 0x1002be64
cmp dh, 0xf8
jb 0x1002c8e0
xor eax, esi
mov dword [esp + edi*4 + 0x144], eax
jmp 0x1002be64
test bl, bl
je 0x1002be64
and ecx, esi
mov dword [esp + edi*4 + 0x144], ecx
jmp 0x1002be64
cmp dh, 0xc0
jb case.0x1002cb55.1
mov bh, dh
and dh, 7
shr bh, 3
movzx ecx, dh
and bh, 7
mov ecx, dword [esp + ecx*4 + 0x144]
cmp bl, 0xbc
jne 0x1002c92d
call fcn.1002dba0
movzx ecx, bh
mov dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be64
call fcn.1002dbd0
movzx ecx, bh
mov dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be64
mov al, bl
sub al, 0x80
cmp al, 0xf
ja 0x1002ca2b
cmp byte [esp + 0x2f], 0
je 0x1002be64
cmp byte [esp + 0x2b], 0
mov edx, 2
mov esi, dword [esp + 0x18]
mov ecx, esi
je 0x1002c97b
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
jmp 0x1002c98a
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.1002db20
add esp, 8
mov byte [esp + 0x2e], al
test al, al
jne 0x1002be64
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x144]
push edi
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1e4], esi
push eax
lea eax, [esp + 0x3e]
sub bl, 0x80
push eax
lea eax, [esp + 0x3f]
push eax
push ecx
push dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
movzx eax, bl
push 2
push eax
call fcn.1002ddd0
mov ebx, dword [esp + 0x3c]
add esp, 0x24
cmp esi, ebx
je 0x1002ca14
lea eax, [esp + 0x1dc]
push eax
lea ecx, [edi + 0x1c]
call fcn.10094f40
mov eax, dword [esp + 0x68]
lea ecx, [edi + 0x10]
add eax, ebx
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1dc]
push eax
call fcn.10094ea0
cmp byte [edi + 0x48], 0
je 0x1002be64
inc dword [esp + 0x78]
mov byte [edi + 0x48], 0
jmp 0x1002be64
add bl, 0x38
cmp bl, 7
ja case.0x1002cb55.1
movzx esi, dl
mov eax, dword [esp + esi*4 + 0x144]
mov ecx, eax
shr ecx, 0x10
movzx ebx, ax
mov dword [esp + 0x34], eax
mov ax, cx
shr ax, 8
movzx eax, ax
mov dword [esp + 0x54], eax
movzx eax, cl
mov dword [esp + 0x1dc], eax
mov ax, bx
shr ax, 8
movzx edx, ax
movzx ecx, bl
shl cx, 8
movzx eax, dl
or cx, ax
mov eax, dword [esp + 0x1dc]
movzx edx, cx
movzx ecx, al
mov eax, dword [esp + 0x54]
shl cx, 8
movzx eax, al
or cx, ax
movzx eax, cx
mov ecx, edx
shl ecx, 0x10
or ecx, eax
mov dword [esp + esi*4 + 0x144], ecx
jmp 0x1002be64
mov esi, dword [esp + 0x18]
mov bh, 1
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
movzx ecx, byte [edx + esi + 4]
movzx eax, byte [edx + esi + 3]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + esi + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x54]
mov dword [esp + eax*4 + 0x144], ecx
jmp case.0x1002b875.96
mov edi, dword [esp + 0x1c]
cmp bl, 0xc0
jb 0x1002be6a
movzx ecx, byte [esp + 0x2d]
mov bh, 1
shr bl, 3
and bl, 7
movzx esi, bl
mov eax, dword [esp + ecx*4 + 0x144]
mov edx, dword [esp + esi*4 + 0x144]
mov dword [esp + esi*4 + 0x144], eax
mov dword [esp + 0x34], edx
mov dword [esp + ecx*4 + 0x144], edx
jmp 0x1002be6a
cmp bl, 0xc0
jb case.0x1002cb55.1
shr bl, 3
mov bh, 1
and bl, 7
cmp esi, 0x88
ja case.0x1002cb55.1
movzx eax, byte [esi + 0x1002d794]
jmp dword [eax*4 + 0x1002d774]
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
add dword [esp + ecx*4 + 0x144], eax
jmp case.0x1002cb55.1
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
or dword [esp + ecx*4 + 0x144], eax
jmp case.0x1002cb55.1
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
and dword [esp + ecx*4 + 0x144], eax
jmp case.0x1002cb55.1
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
sub dword [esp + ecx*4 + 0x144], eax
jmp case.0x1002cb55.1
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
xor dword [esp + ecx*4 + 0x144], eax
jmp case.0x1002cb55.1
movzx eax, bl
lea ecx, [esp + 0x144]
push dword [esp + eax*4 + 0x144]
movzx eax, dl
push dword [esp + eax*4 + 0x148]
call fcn.1002b280
mov edi, dword [esp + 0x1c]
movzx eax, byte [esp + 0x2d]
mov byte [esp + 0x2f], 1
mov word [edi + 0x42], ax
jmp 0x1002be6a
movzx eax, bl
movzx ecx, dl
mov eax, dword [esp + eax*4 + 0x144]
mov dword [esp + ecx*4 + 0x144], eax
cmp bl, 4
jne case.0x1002cb55.1
cmp dl, bl
je case.0x1002cb55.1
cmp byte [esp + 0x3a], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov bl, byte [esp + 0x15]
mov cl, byte [esp + 0x17]
mov edx, dword [esp + 0x24]
mov ch, byte [esp + 0x16]
jne 0x1002cc62
mov eax, dword [esp + 0x20]
mov byte [esp + 0x3a], 1
jmp 0x1002be82
xor al, al
mov bh, 1
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x20]
jmp 0x1002be82
cmp bl, 0xc0
jb case.0x1002cb55.1
mov eax, dword [esp + 0x1dc]
shr bl, 3
add eax, 0xfffffffd
and bl, 7
cmp eax, 0x88
ja case.0x1002cc9e.4
movzx eax, byte [eax + 0x1002d840]
jmp dword [eax*4 + 0x1002d820]
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
add dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be6a
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
or dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be6a
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
and dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be6a
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
sub dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be6a
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
xor dword [esp + ecx*4 + 0x144], eax
jmp 0x1002be6a
movzx eax, dl
lea ecx, [esp + 0x144]
push dword [esp + eax*4 + 0x144]
movzx eax, bl
push dword [esp + eax*4 + 0x148]
call fcn.1002b280
mov edi, dword [esp + 0x1c]
mov bh, 1
movzx eax, bl
mov byte [esp + 0x2f], 1
mov word [edi + 0x42], ax
jmp 0x1002be6a
movzx eax, dl
movzx ecx, bl
mov eax, dword [esp + eax*4 + 0x144]
mov dword [esp + ecx*4 + 0x144], eax
mov edi, dword [esp + 0x1c]
mov bh, 1
jmp 0x1002be6a
movzx edx, byte [edi + 5]
movzx eax, byte [edi + 4]
shl edx, 8
add edx, eax
shr bl, 3
movzx eax, byte [edi + 3]
and bl, 7
shl edx, 8
add edx, eax
movzx eax, byte [edi + 2]
shl edx, 8
add edx, eax
movzx eax, byte [esp + 0x2d]
mov ecx, dword [esp + eax*4 + 0x144]
imul ecx, edx
movzx eax, bl
mov dword [esp + eax*4 + 0x144], ecx
jmp 0x1002be64
cmp byte [esp + 0x33], 0
je case.0x1002cb55.1
movzx eax, bl
add eax, 0xfffffffc
cmp eax, 0xfb
ja case.0x1002cb55.1
movzx eax, byte [eax + 0x1002d8e4]
jmp dword [eax*4 + 0x1002d8cc]
cmp dh, 0x24
jne case.0x1002cb55.1
lea edx, [esp + 0x34]
lea ecx, [esp + 0x3c]
call fcn.1002dc10
test al, al
je 0x1002ce3f
mov eax, dword [esp + 0x34]
mov dword [esp + 0x174], eax
fld dword [esp + 0x174]
push ecx
lea ecx, [esp + 0x188]
fstp dword [esp]
call fcn.1002a940
inc dword [esp + 0x5c]
jmp 0x1002be64
cmp dh, 0x24
jne case.0x1002cb55.1
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x188]
call fcn.1002a9c0
test al, al
je 0x1002ce89
mov edx, dword [esp + 0x174]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], edx
call fcn.1002dcc0
test al, al
jne 0x1002ce89
mov bl, 1
mov byte [esp + 0x15], bl
jmp 0x1002ce8d
mov bl, byte [esp + 0x15]
inc dword [esp + 0x5c]
mov bh, 1
mov esi, dword [esp + 0x18]
mov cl, bh
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002ac00
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002aae0
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002ab70
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
cmp byte [esp + 0x33], 0
je 0x1002cfca
cmp bl, 4
je 0x1002cf93
cmp bl, 0x1c
jne 0x1002be64
cmp dh, 0x24
jne 0x1002be64
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x188]
call fcn.1002aa50
test al, al
je 0x1002cf8a
mov edx, dword [esp + 0x174]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x34], edx
call fcn.1002dcc0
test al, al
jne 0x1002cf8a
mov byte [esp + 0x15], 1
inc dword [esp + 0x5c]
jmp 0x1002be64
cmp dh, 0x24
jne 0x1002be64
lea edx, [esp + 0x34]
lea ecx, [esp + 0x3c]
call fcn.1002dc10
test al, al
je 0x1002ce3f
push dword [esp + 0x34]
lea ecx, [esp + 0x188]
call fcn.1002a8c0
inc dword [esp + 0x5c]
jmp 0x1002be64
cmp byte [esp + 0x3b], 0
je 0x1002be64
cmp bl, 0xe3
jne 0x1002be64
mov byte [esp + 0x33], 1
jmp 0x1002be64
cmp byte [esp + 0x33], 0
je case.0x1002cb55.1
movzx eax, bl
add eax, 0xffffff3f
cmp eax, 0x38
ja case.0x1002cb55.1
movzx eax, byte [eax + 0x1002d9fc]
jmp dword [eax*4 + 0x1002d9e0]
lea ecx, [esp + 0x184]
call fcn.1002ac90
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002af30
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002ae50
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002ad70
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002b0f0
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
lea ecx, [esp + 0x184]
call fcn.1002b010
test al, al
jne 0x1002c5cb
mov esi, dword [esp + 0x18]
mov bl, 1
mov edi, dword [esp + 0x1c]
mov bh, bl
mov eax, dword [esp + 0x20]
mov cl, bh
mov byte [esp + 0x15], bl
jmp 0x1002be7a
mov al, bl
add al, 0x20
cmp al, 7
ja case.0x1002cb55.1
mov edx, dword [esp + 0x24]
cmp bl, 0xe4
je 0x1002d177
cmp byte [esp + 0x3a], 0
mov bh, 1
je 0x1002d16f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov bl, byte [esp + 0x15]
mov eax, dword [esp + 0x20]
test edx, edx
jne 0x1002d27f
mov ch, bh
mov byte [esp + 0x16], ch
mov cl, ch
jmp 0x1002be82
xor al, al
xor bh, bh
mov byte [esp + 0x2c], al
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov bl, byte [esp + 0x15]
mov cl, byte [esp + 0x17]
mov eax, dword [esp + 0x20]
jmp 0x1002be7e
mov al, cl
sub al, 0x70
mov dword [esp + 0x1dc], eax
cmp al, 0xf
ja case.0x1002cb55.1
cmp byte [esp + 0x2f], 0
je case.0x1002cc9e.4
cmp byte [esp + 0x2b], 0
mov edx, 2
mov ebx, dword [esp + 0x18]
mov ecx, ebx
je 0x1002d1d1
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
jmp 0x1002d1e0
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.1002db20
mov edi, dword [esp + 0x24]
add esp, 8
mov byte [esp + 0x2e], al
test al, al
jne 0x1002cd8f
push edi
lea eax, [esp + 0x148]
mov esi, ebx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x5c], esi
push eax
lea eax, [esp + 0x3e]
push eax
lea eax, [esp + 0x3f]
push eax
push ecx
push dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
push 1
push dword [esp + 0x1fc]
call fcn.1002ddd0
mov ebx, dword [esp + 0x3c]
add esp, 0x24
cmp esi, ebx
je 0x1002d266
lea eax, [esp + 0x54]
push eax
lea ecx, [edi + 0x1c]
call fcn.10094f40
mov eax, dword [esp + 0x68]
lea ecx, [edi + 0x10]
add eax, ebx
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1dc]
push eax
call fcn.10094ea0
cmp byte [edi + 0x48], 0
je 0x1002cd8f
inc dword [esp + 0x78]
mov bh, 1
mov byte [edi + 0x48], 0
jmp 0x1002be6a
mov cl, byte [esp + 0x17]
jmp 0x1002be7e
add eax, edx
cmp eax, 0x64
jbe 0x1002d2c6
xor bl, bl
mov byte [esp + 0x2c], bl
jmp 0x1002d2ca
cmp byte [esp + 0x2b], 0
je 0x1002d2b4
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
cmp eax, 0x50
jbe 0x1002d2c6
xor bl, bl
mov byte [esp + 0x2c], bl
jmp 0x1002d2ca
inc eax
mov dword [esp + 0x20], eax
cmp eax, 0x64
jbe 0x1002d2c6
xor bl, bl
mov byte [esp + 0x2c], bl
jmp 0x1002d2ca
mov bl, byte [esp + 0x2c]
test cl, cl
je 0x1002d2d6
add esi, dword [esp + 0x68]
mov dword [esp + 0x18], esi
test ch, ch
je 0x1002b7f4
cmp dword [esp + 0x24], 1
jb 0x1002d2e9
xor bl, bl
jmp 0x1002d2f6
cmp dword [esp + 0x20], 0x64
mov bl, 1
ja 0x1002d2f6
mov bl, byte [esp + 0x16]
mov byte [esp + 0x200], 6
mov eax, dword [esp + 0x3c]
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test eax, eax
je 0x1002d32a
push eax
call esi
add esp, 4
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x200], 5
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x1002d364
push eax
call esi
add esp, 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov byte [esp + 0x200], 4
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002d39e
push eax
call esi
add esp, 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0x200], 3
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1002d3d2
push eax
call esi
add esp, 4
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov byte [esp + 0x200], 2
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x1002d40c
push eax
call esi
add esp, 4
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov byte [esp + 0x200], 1
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x1002d446
push eax
call esi
add esp, 4
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0x200], 0
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1002d480
push eax
call esi
add esp, 4
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x200], 0xffffffff
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x1002d4bd
push ecx
call esi
add esp, 4
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov al, bl
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100b37df
mov esp, ebp
pop ebp
ret