Function at 0x101c5c80
Capabilities:
Check for software breakpoints
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x3f4
push ebx
push esi
mov esi, eax
mov eax, dword [esi + 0x584]
push edi
xor edi, edi
cmp eax, edi
jne 0x101c5e15
push 0xb4
lea ecx, [esi + 0x58c]
lea eax, [esi + 0x670]
push edi
mov byte [esi + 0x588], 0
push ecx
mov dword [esi + 0xa680], eax
call sub.msvcrt.dll_memset
push 0x1200
lea edx, [esi + 0xb298]
push edi
push edx
call sub.msvcrt.dll_memset
push 0x80
lea eax, [esi + 0x2c588]
push edi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [esi + 0x2d0c4], eax
mov dword [esi + 0x2d0c8], eax
mov dword [esi + 0x2d0cc], eax
mov dword [esi + 0x2d0d0], eax
mov dword [esi + 0x2d0d4], eax
mov dword [esi + 0x2d0d8], eax
mov dword [esi + 0x2d0dc], eax
mov dword [esi + 0x2d0e0], eax
mov dword [esi + 0x2c608], eax
mov dword [esi + 0x2c60c], eax
mov dword [esi + 0x2c610], eax
mov byte [esi + 0x2d0e4], al
xor ecx, ecx
mov word [esi + 0x2d0e5], cx
mov dword [esi + 0x2d0e8], eax
mov dword [esi + 0x2d0ec], eax
mov dword [esi + 0x2d0f0], eax
push 0xc00
mov dword [esi + 0x2d0f4], eax
lea edx, [esi + 0xa684]
push edi
mov byte [esi + 0x2d0f8], al
push edx
mov byte [esi + 0x2d0f9], al
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [esi + 0x2d0fc], eax
mov dword [esi + 0x2d100], eax
push 0x6a0
lea eax, [esi + 0x2c614]
push edi
push eax
mov dword [esi + 0x2d104], edi
call sub.msvcrt.dll_memset
push 0x410
lea ecx, [esi + 0x2ccb4]
push edi
push ecx
call sub.msvcrt.dll_memset
add esp, 0x48
push 0xe0
lea edx, [esi + 0xc4a0]
push edi
push edx
call sub.msvcrt.dll_memset
push 0x20000
lea eax, [esi + 0xc580]
push edi
push eax
call sub.msvcrt.dll_memset
mov dword [esi + 0x2c580], edi
mov dword [esi + 0x2c584], edi
mov dword [esi + 0x580], edi
mov byte [esi + 0x640], 0
mov byte [esi + 0x641], 0
mov byte [esi + 0x642], 0
mov dword [esi + 0xc498], edi
add esp, 0x18
mov dword [esi + 0xc49c], 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 2
cmp eax, edx
jne 0x101c6b13
xor ebx, ebx
mov dword [esp + 0x30], 1
cmp dword [esi + 0x2d124], edi
jbe 0x101c5e89
mov eax, ebx
lea edi, [esp + 0x3c]
lea ecx, [esi + 0x2d11c]
call fcn.101d72f0
cmp dword [esp + 0x3c], 0x11
jne 0x101c5e80
cmp byte [esp + 0x44], 0
mov edi, dword [esp + 0x40]
jne 0x101c5e68
push edi
push 0x10097c68
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
cmp byte [esp + 0x46], 0
jne 0x101c5e80
push edi
push 0x10097c94
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
inc ebx
cmp ebx, dword [esi + 0x2d124]
jb 0x101c5e34
xor ebx, ebx
cmp dword [esi + 0x664], ebx
jbe 0x101c5ec9
mov eax, ebx
lea edi, [esp + 0x3c]
lea ecx, [esi + 0x65c]
call fcn.101d72f0
cmp byte [esp + 0x44], 0
jne 0x101c5ec0
mov ecx, dword [esp + 0x3c]
push ecx
push 0x10097cbc
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
inc ebx
cmp ebx, dword [esi + 0x664]
jb 0x101c5e93
mov edx, dword [esi + 0xb288]
cmp dword [edx], 0
mov dword [esp + 0x20], 0
jbe 0x101c6046
mov dword [esp + 0x38], 0
jmp 0x101c5ef0
mov edi, dword [esi + 0xb28c]
add edi, dword [esp + 0x38]
mov ecx, dword [esi + 0xb290]
movzx eax, word [edi + 4]
lea eax, [eax + eax*2]
movzx ebx, word [ecx + eax*4 + 6]
movzx edx, word [ecx + eax*4 + 8]
lea eax, [ecx + eax*4]
movzx ecx, word [edi + 6]
movzx eax, word [eax + 0xa]
imul ebx, ecx
imul edx, ecx
imul eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
test ebx, ebx
jbe 0x101c5fab
movzx eax, word [edi + 8]
mov ecx, 0xffff
cmp ax, cx
je 0x101c5fab
movzx eax, ax
lea ecx, [eax + eax*2]
cmp byte [esi + ecx*4 + 0x58c], 0
jne 0x101c5f6d
mov edx, dword [esp + 0x20]
push eax
push edx
push 0x10097cf8
call fcn.101c3320
mov edx, dword [esp + 0x38]
add esp, 0xc
inc dword [esi + 0x14]
movzx eax, word [edi + 8]
movzx ecx, word [edi + 0xa]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x590]
cmp ecx, eax
jae 0x101c5f89
add ecx, ebx
cmp ecx, eax
jbe 0x101c5fab
movzx eax, word [edi + 0xa]
mov edx, dword [esp + 0x20]
lea ecx, [eax + ebx]
push ecx
push eax
push edx
push 0x10097d40
call fcn.101c3320
mov edx, dword [esp + 0x3c]
add esp, 0x10
inc dword [esi + 0x14]
mov eax, 0xffff
cmp word [edi + 0xc], ax
je 0x101c5fee
xor ebx, ebx
test edx, edx
jbe 0x101c5fee
lea esp, [esp]
movzx eax, word [edi + 0xc]
add eax, ebx
lea ecx, [eax + eax*8 + 0x2ca6]
cmp byte [esi + ecx*4], 0
jne 0x101c5fe9
push eax
push ebx
push 0x10097d98
call fcn.101c3320
mov edx, dword [esp + 0x38]
add esp, 0xc
inc dword [esi + 0x14]
inc ebx
cmp ebx, edx
jb 0x101c5fc0
mov edx, 0xffff
cmp word [edi + 0xe], dx
je 0x101c602a
xor ebx, ebx
cmp dword [esp + 0x24], ebx
jbe 0x101c602a
movzx eax, word [edi + 0xe]
add eax, ebx
cmp byte [esi + eax*8 + 0x2c588], 0
jne 0x101c6023
push eax
push ebx
push 0x10097dd8
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
inc ebx
cmp ebx, dword [esp + 0x24]
jb 0x101c6001
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0xb288]
add dword [esp + 0x38], 0x10
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [ecx]
jb 0x101c5ef0
mov edx, dword [esi + 0xb288]
xor ebx, ebx
mov dword [esp + 0x24], ebx
cmp dword [edx + 8], ebx
jbe 0x101c60c0
xor edi, edi
lea esp, [esp]
mov eax, dword [esi + 0xb294]
mov ecx, dword [edi + eax]
mov eax, ebx
lea edx, [eax + eax*2]
lea edx, [esi + edx*4]
add ebx, ecx
cmp byte [edx + 0xa684], 0
jne 0x101c608c
push eax
push 0x10097e18
call fcn.101c3320
add esp, 8
jmp 0x101c60a6
mov edx, dword [edx + 0xa688]
cmp edx, ecx
je 0x101c60a9
push edx
push ecx
push eax
push 0x10097e60
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0xb288]
inc eax
add edi, 0x10
mov dword [esp + 0x24], eax
cmp eax, dword [ecx + 8]
jb 0x101c6060
xor edi, edi
lea ebx, [esi + 0xa688]
cmp byte [ebx - 3], 0
jne 0x101c60e4
cmp dword [ebx], 1
jne 0x101c60e4
push edi
push 0x10097ebc
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
inc edi
add ebx, 0xc
cmp edi, 0x100
jb 0x101c60c8
mov eax, dword [esi + 0x574]
cmp eax, 2
jne 0x101c624d
cmp byte [esi + 0x2c608], 0
jne 0x101c611d
push 0x10097ef8
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
jmp 0x101c61b5
cmp dword [esi + 0x2c610], 0
jne 0x101c6171
mov eax, dword [esi + 0xa680]
xor ecx, ecx
add eax, 0x800c
cmp dword [eax], 0
jne 0x101c6143
inc ecx
add eax, 0x28
cmp ecx, 0x10
jb 0x101c6133
jmp 0x101c61b5
push ecx
push 0x10097f20
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x18c]
push edx
mov dword [esp + 0x190], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor ebx, ebx
xor edi, edi
mov eax, dword [esi + 0xa680]
add eax, edi
cmp dword [eax + 0x800c], 0
je 0x101c61a9
mov eax, dword [eax + 0x8010]
mov ecx, dword [esi + 0x2c610]
cmp eax, ecx
je 0x101c61a9
push eax
push ebx
push ecx
push 0x10097f80
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
add edi, 0x28
inc ebx
cmp edi, 0x280
jb 0x101c6175
lea ecx, [esi + 0x2d104]
mov dword [esp + 0x30], 0
or edi, 0xffffffff
mov dword [esp + 0x38], ecx
lea ebx, [esi + 0x2d0c4]
mov dword [esp + 0x24], 4
mov eax, 1
lea ecx, [ecx]
mov edx, dword [esp + 0x38]
cmp byte [edx], 0
je 0x101c620b
cmp byte [ebx], 0
lea ecx, [edi + 2]
mov dword [esp + 0x30], ecx
jne 0x101c620b
push edi
push 0x1009805c
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov eax, 1
add dword [esp + 0x38], eax
add ebx, 8
add edi, eax
sub dword [esp + 0x24], eax
jne 0x101c61e0
cmp dword [esp + 0x30], 0
jne 0x101c670a
cmp byte [esi + 0x2d0c4], 0
jne 0x101c670a
push 0x10098090
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 4
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x101c6724
test eax, eax
jne 0x101c62b2
cmp byte [esi + 0x2d0f0], al
jne 0x101c670a
cmp byte [esi + 0x2d0e8], al
je 0x101c670a
cmp dword [esi + 0x2d0ec], 0xc
je 0x101c670a
mov eax, dword [esi + 0x2d0f4]
sub eax, 0
je 0x101c670a
sub eax, 5
je 0x101c670a
sub eax, 2
je 0x101c670a
push 0x100980b8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 4
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x101c6724
cmp eax, 5
jne 0x101c649a
mov edi, dword [esi + 0x2c584]
test edi, edi
jne 0x101c62e0
push 0x100981e4
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 4
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x101c6724
xor edx, edx
mov eax, 0x4000
div edi
mov ebx, eax
cmp eax, 0x1000
jb 0x101c62f7
mov ebx, 0x1000
mov ecx, dword [esi + 0xa680]
mov eax, dword [ecx + 0x8008]
add eax, dword [ecx]
xor ecx, ecx
xor edx, edx
cmp ecx, edx
jb 0x101c6331
ja 0x101c6313
cmp eax, ebx
jbe 0x101c6331
push ecx
push eax
push ebx
push edi
push 0x1000
push 0x4000
push 0x10098220
call fcn.101c3320
add esp, 0x1c
inc dword [esi + 0x14]
cmp byte [esi + 0x1b], 0
jne 0x101c670a
mov dl, 1
xor edi, edi
lea ebx, [esi + 0xc584]
cmp byte [ebx - 4], 0
je 0x101c6372
cmp byte [ebx + 4], 0
je 0x101c6372
mov eax, dword [ebx]
mov ecx, dword [esi + 0x2c584]
cmp eax, ecx
je 0x101c6372
push edi
push eax
push ecx
push 0x10098310
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
xor dl, dl
inc edi
add ebx, 0x10
cmp edi, 0x2000
jb 0x101c6345
test dl, dl
je 0x101c670a
mov edi, dword [esi + 0x2c584]
mov eax, dword [esi + 0x2c580]
xor edx, edx
div edi
cmp edi, 0x40
ja 0x101c63a5
mov ecx, pe_nt_image_headers32
jmp 0x101c6474
cmp edi, 0x44
ja 0x101c63b4
mov ecx, 0xf0
jmp 0x101c6474
cmp edi, 0x48
ja 0x101c63c3
mov ecx, 0xe0
jmp 0x101c6474
cmp edi, 0x4c
ja 0x101c63d2
mov ecx, 0xd0
jmp 0x101c6474
cmp edi, 0x54
ja 0x101c63e1
mov ecx, 0xc0
jmp 0x101c6474
cmp edi, 0x5c
ja 0x101c63f0
mov ecx, 0xb0
jmp 0x101c6474
cmp edi, 0x64
ja 0x101c63ff
mov ecx, 0xa0
jmp 0x101c6474
cmp edi, 0x70
ja 0x101c640b
mov ecx, 0x90
jmp 0x101c6474
cmp edi, 0x80
ja 0x101c641a
mov ecx, 0x80
jmp 0x101c6474
cmp edi, 0x90
ja 0x101c6429
mov ecx, 0x70
jmp 0x101c6474
cmp edi, 0xa8
ja 0x101c6438
mov ecx, 0x60
jmp 0x101c6474
cmp edi, 0xcc
ja 0x101c6447
mov ecx, 0x50
jmp 0x101c6474
cmp edi, 0x100
ja 0x101c6456
mov ecx, 0x40
jmp 0x101c6474
cmp edi, 0x154
ja 0x101c6465
mov ecx, 0x30
jmp 0x101c6474
mov edx, 0x200
cmp edx, edi
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x20
cmp eax, ecx
jbe 0x101c670a
push eax
push ecx
push edi
push 0x100983f0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x101c6724
cmp eax, 4
jne 0x101c670a
cmp byte [esi + 0x2ccbc], 0
jne 0x101c64bc
push 0x100984f0
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
cmp byte [esi + 0x2ccbd], 0
jne 0x101c64f2
push 0x1009852c
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 4
push 0x101de948
lea eax, [esp + 0x30c]
push eax
mov dword [esp + 0x310], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x2ccc0]
test ecx, ecx
je 0x101c654a
mov eax, dword [esi + 0x2ccb8]
sub eax, 1
je 0x101c6531
sub eax, 1
je 0x101c6521
sub eax, 1
jne 0x101c654a
mov edx, ecx
and edx, 0x30
cmp edx, ecx
je 0x101c654a
push 0x100985c0
jmp 0x101c653f
mov eax, ecx
and eax, 0x70
cmp eax, ecx
je 0x101c654a
push 0x10098560
jmp 0x101c653f
mov edx, ecx
and edx, 0x30
cmp edx, ecx
je 0x101c654a
push 0x10098620
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
xor eax, eax
mov edi, 0x8518
lea ecx, [esi + 0x2ccc4]
lea edx, [esi + 0x2cccc]
lea ecx, [ecx]
mov ebx, dword [esi + 0xa680]
mov ebx, dword [eax + ebx + 0x850c]
or dword [ecx], ebx
mov ebx, dword [esi + 0xa680]
mov bl, byte [eax + ebx + 0x8528]
mov byte [ecx + 0x14], bl
mov ebx, dword [esi + 0xa680]
mov ebx, dword [eax + ebx + 0x852c]
mov dword [ecx + 0x18], ebx
mov ebx, dword [esi + 0xa680]
mov ebx, dword [eax + ebx + 0x8530]
mov dword [ecx + 0x1c], ebx
mov ebx, dword [esi + 0xa680]
test byte [eax + ebx + 0x850c], 0x10
je 0x101c65b6
mov ebx, dword [ebx + edi - 4]
mov dword [edx - 4], ebx
mov ebx, dword [esi + 0xa680]
test byte [eax + ebx + 0x850c], 0x20
je 0x101c65cb
mov ebx, dword [ebx + edi]
mov dword [edx], ebx
mov ebx, dword [esi + 0xa680]
test byte [eax + ebx + 0x850c], 0x40
je 0x101c65e2
mov ebx, dword [ebx + edi + 4]
mov dword [edx + 4], ebx
mov ebx, dword [esi + 0xa680]
test byte [eax + ebx + 0x850c], 0x80
je 0x101c65f9
mov ebx, dword [ebx + edi + 8]
mov dword [edx + 8], ebx
add edi, 0x28
add ecx, 0x20
add eax, 0x28
add edx, 0x20
cmp edi, 0x8a18
jb 0x101c6560
xor ebx, ebx
xor edi, edi
mov eax, dword [esi + 0xa680]
add eax, edi
cmp dword [eax + 0x800c], 0
je 0x101c6649
mov eax, dword [eax + 0x8010]
mov ecx, dword [esi + 0x2ccb4]
cmp eax, ecx
je 0x101c6649
push eax
push ebx
push ecx
push 0x10098688
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
add edi, 0x28
inc ebx
cmp edi, 0x500
jb 0x101c6615
mov edx, dword [esi + 0xa680]
xor eax, eax
add edx, 0x8034
lea edi, [eax + 8]
mov ecx, dword [edx - 0x28]
test cl, 0x10
je 0x101c666f
inc eax
test cl, 0x20
je 0x101c6675
inc eax
test cl, 0x40
je 0x101c667b
inc eax
test cl, cl
jns 0x101c6680
inc eax
mov ecx, dword [edx]
test cl, 0x10
je 0x101c6688
inc eax
test cl, 0x20
je 0x101c668e
inc eax
test cl, 0x40
je 0x101c6694
inc eax
test cl, cl
jns 0x101c6699
inc eax
mov ecx, dword [edx + 0x28]
test cl, 0x10
je 0x101c66a2
inc eax
test cl, 0x20
je 0x101c66a8
inc eax
test cl, 0x40
je 0x101c66ae
inc eax
test cl, cl
jns 0x101c66b3
inc eax
mov ecx, dword [edx + 0x50]
test cl, 0x10
je 0x101c66bc
inc eax
test cl, 0x20
je 0x101c66c2
inc eax
test cl, 0x40
je 0x101c66c8
inc eax
test cl, cl
jns 0x101c66cd
inc eax
add edx, 0xa0
sub edi, 1
jne 0x101c6666
mov edx, dword [esi + 0x2ccb4]
mov ecx, edx
imul ecx, eax
cmp ecx, 0xf80
jbe 0x101c6703
push ecx
push edx
push eax
push 0xf80
push 0x10098790
call fcn.101c3320
add esp, 0x14
inc dword [esi + 0x14]
mov eax, esi
call fcn.101d14b0
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x101c6724
mov edx, dword [esp + 0x24]
mov ecx, dword [esi + 0xa680]
lea eax, [ecx + 0x800c]
mov dword [esp + 0x2c], eax
test edx, edx
jbe 0x101c6761
mov eax, dword [esi + 0x574]
cmp eax, 4
je 0x101c674c
cmp eax, 3
jne 0x101c6952
lea eax, [ecx + 0x850c]
cmp edx, 1
je 0x101c675d
lea eax, [ecx + 0x8a0c]
mov dword [esp + 0x2c], eax
lea edi, [eax + 8]
add eax, 0xc
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], eax
jmp 0x101c6780
cmp byte [edi + 0x14], 0
je 0x101c68ad
mov ebx, dword [edi - 8]
test ebx, ebx
jne 0x101c67bc
cmp dword [esi + 0x574], 2
mov eax, 0x10098894
je 0x101c67a4
mov eax, 0x100820f3
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x1c]
push ecx
push eax
mov eax, dword [edi + 0x18]
push edx
push eax
push 0x10098898
jmp 0x101c68a2
test bl, 0x10
je 0x101c67c6
cmp dword [edi], 0
jne 0x101c67e6
test bl, 0x20
je 0x101c67d1
cmp dword [edi + 4], 0
jne 0x101c67e6
test bl, 0x40
je 0x101c67dc
cmp dword [edi + 8], 0
jne 0x101c67e6
test bl, bl
jns 0x101c6851
cmp dword [edi + 0xc], 0
je 0x101c6851
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 4]
add ecx, 0xfffffff5
xor dl, dl
cmp ecx, 0xb
ja 0x101c67f9
mov dl, 1
mov ecx, dword [eax]
add ecx, 0xfffffff5
cmp ecx, 0xb
ja 0x101c6805
mov dl, 1
mov ecx, dword [eax + 4]
add ecx, 0xfffffff5
cmp ecx, 0xb
ja 0x101c6812
mov dl, 1
mov eax, dword [eax + 8]
add eax, 0xfffffff5
cmp eax, 0xb
jbe 0x101c68ad
test dl, dl
jne 0x101c68ad
cmp dword [esi + 0x574], 2
mov eax, 0x10098894
je 0x101c683c
mov eax, 0x100820f3
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push ecx
push eax
push 0x100988f8
jmp 0x101c68a2
mov eax, dword [edi + 0x18]
cmp dword [esp + 0x20], eax
je 0x101c68ad
mov ecx, dword [esp + 0x2c]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8]
mov ecx, dword [edx]
test ecx, ecx
je 0x101c68ad
cmp ecx, ebx
jne 0x101c687f
cmp dword [esi + 0x574], 0
jne 0x101c68ad
mov ecx, dword [edi + 0x10]
cmp ecx, dword [edx + 0x18]
je 0x101c68ad
cmp dword [esi + 0x574], 2
mov ecx, 0x10098894
je 0x101c6892
mov ecx, 0x100820f3
mov edx, dword [edi + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x28]
push eax
push ecx
push 0x100989b8
call fcn.101c3320
add esp, 0x14
inc dword [esi + 0x14]
cmp dword [edi - 8], 0
je 0x101c691e
mov ecx, 1
mov byte [esp + 0x1f], 0
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov edx, ecx
rol edx, 4
and edx, dword [edi - 8]
test dl, 0xf0
je 0x101c6912
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add eax, ebx
mov eax, dword [edx + eax*4]
test eax, eax
je 0x101c68f2
cmp eax, 0xb
jl 0x101c68eb
cmp eax, 0x16
jle 0x101c6912
mov byte [esp + 0x1f], 1
jmp 0x101c6912
cmp byte [esp + 0x1f], 0
je 0x101c6912
mov eax, dword [esp + 0x20]
push eax
push 0x10098a80
call fcn.101c3320
mov ecx, dword [esp + 0x30]
add esp, 8
inc dword [esi + 0x14]
inc ebx
rol ecx, 1
mov dword [esp + 0x28], ecx
cmp ebx, 4
jb 0x101c68c3
mov eax, dword [esp + 0x34]
inc dword [esp + 0x20]
add dword [esp + 0x38], 0x28
add eax, 0xa
add edi, 0x28
mov dword [esp + 0x34], eax
cmp eax, 0x142
jb 0x101c6780
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 3
jb 0x101c6720
mov ecx, dword [esp + 0x30]
xor edx, edx
mov eax, 0x8f0c
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], eax
jmp 0x101c6972
xor edx, edx
mov dword [esp + 0x24], edx
cmp ecx, edx
jbe 0x101c6a5d
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], eax
mov edx, dword [esi + 0xa680]
mov eax, dword [esp + 0x2c]
cmp dword [eax + edx], 0
je 0x101c6a34
mov byte [esp + 0x1f], 0
xor edi, edi
mov ebx, 1
mov eax, dword [esi + 0xa680]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
rol ecx, 4
and ecx, dword [eax + edx]
test cl, 0xf0
je 0x101c6a28
mov ecx, dword [esp + 0x34]
lea edx, [edi + ecx]
mov eax, dword [eax + edx*4 + 0x8f10]
test eax, eax
je 0x101c69e4
cmp eax, 0xb
jl 0x101c69dd
cmp eax, 0x16
jle 0x101c6a28
mov byte [esp + 0x1f], 1
jmp 0x101c6a28
cmp byte [esp + 0x1f], 0
je 0x101c6a28
cmp dword [esi + 0x574], 2
jne 0x101c6a13
cmp byte [esi + 0x1b], 0
je 0x101c6a13
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push 0x10098b38
call fcn.101c3320
add esp, 0xc
jmp 0x101c6a25
mov edx, dword [esp + 0x20]
push edx
push 0x10098c00
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
inc edi
rol ebx, 1
cmp edi, 4
jb 0x101c69aa
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x2c], 0x280
add dword [esp + 0x34], 0xa0
inc eax
mov dword [esp + 0x24], eax
cmp eax, ecx
jb 0x101c698a
mov eax, dword [esp + 0x28]
inc dword [esp + 0x20]
add dword [esp + 0x38], 5
add eax, 0x14
mov dword [esp + 0x28], eax
cmp eax, 0x918c
jb 0x101c6970
mov al, byte [esi + 0x2d108]
cmp al, byte [esi + 0x2d109]
je 0x101c6a96
push 0x10098cb8
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
mov cl, byte [esi + 0x2d10a]
cmp cl, byte [esi + 0x2d10b]
je 0x101c6ab4
push 0x10098dd0
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
cmp byte [esi + 0x2d10a], 0
jne case.0x101c7277.3
cmp byte [esi + 0x1b], 0
jne case.0x101c7277.3
lea ecx, [esi + 0x20]
call fcn.101d8b9e
cmp eax, 5
je case.0x101c7277.3
xor ecx, ecx
lea eax, [esi + 0xb2b4]
cmp byte [eax - 0x1c], 0
je 0x101c6ae9
cmp byte [eax], 0
jne 0x101c6afc
cmp byte [eax + 1], 0
jne 0x101c6afc
inc ecx
add eax, 0x24
cmp ecx, 0x80
jb 0x101c6ad8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10098f00
call fcn.101c3320
add esp, 4
inc dword [esi + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x30]
add eax, 0xfffffff7
cmp eax, 0xc5
ja case.0x101c6b2b.10
movzx eax, byte [eax + 0x101cd664]
jmp dword [eax*4 + 0x101cd5b4]
mov edx, dword [esi + 0x40]
lea ecx, [edx + edx*2]
cmp byte [esi + ecx*4 + 0x58c], 0
lea eax, [esi + ecx*4]
je 0x101c6b7a
mov eax, dword [esi + 0x570]
push eax
push edx
push 0x10098f88
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x3f8]
push ecx
mov dword [esp + 0x3fc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov bl, 1
mov byte [eax + 0x58c], bl
mov ecx, dword [esi + 0x68]
cmp ecx, edi
jne 0x101c6b9b
mov byte [eax + 0x58d], bl
mov dword [eax + 0x590], 0x1000
jmp 0x101c6bae
cmp ecx, 0x1000
jb 0x101c6ba8
mov ecx, 0x1000
mov dword [eax + 0x590], ecx
mov eax, dword [esi + 0x554]
lea edx, [edx + edx*2 + 0x165]
mov dword [esi + edx*4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x554], 3
jne case.0x101c7277.3
cmp byte [esi + 0x2d0fc], 0
je 0x101c6c0f
mov ecx, dword [esi + 0x570]
push ecx
push 0x10098fe0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x400]
push edx
mov dword [esp + 0x404], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x558]
mov eax, ecx
shr eax, 4
test cl, 0xf
jne 0x101c6c3e
cmp eax, 0x1000
ja 0x101c6c3e
cmp eax, edi
je 0x101c6c3e
mov byte [esi + 0x2d0fc], 1
mov dword [esi + 0x2d100], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1000
push 0x10099048
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x5c]
push edx
mov dword [esp + 0x60], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0xa680]
cmp byte [eax + 4], 0
je 0x101c6cb2
mov eax, dword [esi + 0x570]
push eax
push 0x10099100
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x38c]
push ecx
mov dword [esp + 0x390], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [eax + 4], bl
mov eax, dword [esi + 0x554]
cmp eax, 0x1000
jbe 0x101c6cfb
mov edx, dword [esi + 0x570]
push edx
push 0x1000
push eax
push 0x10099158
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0x68], 0x80004005
call sub.msvcrt.dll__CxxThrowException
jb 0x101c6d02
mov eax, 0x1000
mov ecx, dword [esi + 0xa680]
mov dword [ecx], eax
mov eax, dword [esi + 0xa680]
mov edx, dword [eax + 0x8008]
add edx, dword [esi + 0x558]
add edx, dword [eax]
cmp edx, 0x1000
jbe case.0x101c7277.3
mov eax, dword [esi + 0x570]
push eax
push 0x1000
push 0x100991b8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x234]
push ecx
mov dword [esp + 0x238], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
cmp eax, 0x1000
jb 0x101c6d9f
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x10099228
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xa680]
cmp dword [ecx + eax*8 + 8], edi
je 0x101c6de0
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x10099288
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x31c]
push edx
mov dword [esp + 0x320], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [ecx + 0x8008]
mov edi, dword [ecx]
mov edx, dword [esi + 0x558]
add edi, eax
add edi, edx
cmp edi, 0x1000
jbe 0x101c6e2d
mov eax, dword [esi + 0x570]
push eax
push 0x1000
push 0x100992d0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x78], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edi, dword [esi + 0x55c]
lea ebx, [edi - 0x10]
cmp ebx, 0xe0
ja case.0x101c6e45.17
movzx ebx, byte [ebx + 0x101cd734]
jmp dword [ebx*4 + 0x101cd72c]
add edx, eax
cmp edx, eax
jbe 0x101c6e54
mov eax, edx
mov dword [ecx + 0x8008], eax
mov edx, dword [esi + 0x554]
mov eax, dword [esi + 0xa680]
mov ecx, dword [esi + 0x55c]
mov dword [eax + edx*8 + 8], ecx
mov edx, dword [esi + 0x554]
mov eax, dword [esi + 0xa680]
mov ecx, dword [esi + 0x558]
mov dword [eax + edx*8 + 0xc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x10099348
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x23c]
push eax
mov dword [esp + 0x240], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x40]
lea ecx, [eax + eax*8 + 0x2ca6]
cmp byte [esi + ecx*4], 0
lea ecx, [esi + ecx*4]
je 0x101c6f07
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x100993a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x80], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [ecx], bl
lea ecx, [eax + eax*8]
lea ecx, [esi + ecx*4]
mov byte [ecx + 0xb2b4], 0
mov byte [ecx + 0xb2b5], 0
mov dword [ecx + 0xb2b8], edi
mov edi, dword [esi + 0x554]
lea edx, [edi - 1]
mov dword [esp + 0x28], ecx
cmp edx, 9
ja case.default.0x101c6f45
movzx edx, byte [edx + 0x101cd820]
jmp dword [edx*4 + 0x101cd818]
mov edx, dword [esi + 0x568]
test edx, edx
je 0x101c7021
mov ecx, dword [esi + 0x570]
push ecx
push eax
push edx
push 0x100993e8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x3e4]
push edx
mov dword [esp + 0x3e8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [esi + 0x574], 0
je 0x101c6fdb
cmp byte [esi + 0x1a], 0
jne 0x101c6fdb
mov ecx, dword [esi + 0x570]
mov edx, dword [esi + 0x568]
push ecx
push eax
push edx
push 0x10099450
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x88], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [esi + 0x568], 0
jne 0x101c7021
cmp byte [esi + 0x1a], 0
jne 0x101c7021
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0
push 0x100994b8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x244]
push edx
mov dword [esp + 0x248], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [ecx + 0xb29c], edi
xor ecx, ecx
lea edi, [esi + 0x558]
nop
mov edx, dword [edi]
lea ebx, [edx - 1]
cmp ebx, 5
ja 0x101c7066
lea ebx, [ecx + eax*8]
add ebx, eax
inc ecx
add edi, 4
mov dword [esi + ebx*4 + 0xb2a0], edx
cmp ecx, 4
jb 0x101c7030
mov ecx, dword [esi + 0x568]
mov edx, dword [esp + 0x28]
mov dword [edx + 0xb2b0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push eax
push ecx
push 0x10099568
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x8c]
push eax
mov dword [esp + 0x90], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x10099518
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x324]
push edx
mov dword [esp + 0x328], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x40]
cmp byte [esi + eax*8 + 0x2c588], 0
je 0x101c7113
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x100995c8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x98], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [esi + eax*8 + 0x2c588], bl
mov ecx, dword [esi + 0x554]
cmp ecx, edx
ja 0x101c7137
mov dword [esi + eax*8 + 0x2c58c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x10099608
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x24c]
push edx
mov dword [esp + 0x250], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x640], 0
mov ebx, 1
jne 0x101c71bd
mov byte [esi + 0x640], bl
cmp byte [esi + 0x641], 0
je 0x101c71bd
mov eax, dword [esi + 0x570]
push eax
push 0x10099650
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0x9c]
push ecx
mov dword [esp + 0xa0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x40]
cmp eax, 4
jb 0x101c71fc
mov edx, dword [esi + 0x570]
push edx
push 3
push eax
push 0x100996d0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x394]
push eax
mov dword [esp + 0x398], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [eax + esi + 0x2d104], 0
je 0x101c723b
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009972c
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0xa8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [eax + esi + 0x2d104], bl
mov dword [esi + 0x580], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0xf8], edi
jne case.0x101c7277.3
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x554]
lea ecx, [eax - 1]
cmp ecx, 0x1a
ja case.0x101c7277.3
movzx ecx, byte [ecx + 0x101cd840]
jmp dword [ecx*4 + 0x101cd82c]
mov eax, dword [esi + 0x574]
cmp eax, 3
ja case.default.0x101c7289
jmp dword [eax*4 + 0x101cd85c]
movzx eax, byte [esi + 0x1a]
mov ecx, dword [esi + 0x40]
neg eax
sbb eax, eax
and eax, 0x10
add eax, 0x10
jmp 0x101c72d2
mov ecx, dword [esi + 0x68]
mov eax, 0x20
jmp 0x101c72d2
movzx eax, byte [esi + 0x1a]
mov ecx, dword [esi + 0x68]
neg eax
sbb eax, eax
and eax, 0x10
add eax, 0x10
jmp 0x101c72d2
mov ecx, dword [esi + 0x40]
mov eax, 0x20
jmp 0x101c72d2
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
test edi, edi
je 0x101c7376
cmp edi, eax
ja 0x101c7376
lea edx, [ecx + edi]
cmp edx, eax
ja 0x101c7376
dec edx
mov ebx, ecx
cmp ecx, edx
ja case.0x101c7277.3
lea eax, [ecx + ecx*4]
add eax, eax
add eax, eax
add eax, eax
mov edi, dword [esi + 0xa680]
add edi, eax
cmp byte [edi + 0x8028], 0
jne 0x101c7342
mov dword [edi + 0x802c], ecx
mov edi, dword [esi + 0xa680]
mov dword [edi + eax + 0x8030], edx
mov edi, dword [esi + 0xa680]
mov byte [edi + eax + 0x8028], 1
inc ebx
add eax, 0x28
cmp ebx, edx
jbe 0x101c7301
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push 0x100997c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x254]
push eax
mov dword [esp + 0x258], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x10099770
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0xac]
push edx
mov dword [esp + 0xb0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x68]
mov ebx, dword [esi + 0xa680]
cmp eax, 0x19
jne 0x101c73c0
add ebx, 0x800c
jmp 0x101c73c6
add ebx, 0x8a0c
test edi, edi
je 0x101c7441
cmp edi, 0x20
ja 0x101c7441
lea eax, [edx + edi]
cmp eax, 0x20
ja 0x101c7441
lea ecx, [eax - 1]
mov edi, edx
cmp edx, ecx
ja case.0x101c7277.3
lea eax, [edx + edx*4]
lea eax, [ebx + eax*8 + 0x1c]
jmp 0x101c73f0
cmp byte [eax], 0
jne 0x101c740d
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov byte [eax], 1
inc edi
add eax, 0x28
cmp edi, ecx
jbe 0x101c73f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push 0x100997c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x32c]
push edx
mov dword [esp + 0x330], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x10099770
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0xb8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, dword [esi + 0x40]
test edi, edi
je 0x101c7525
cmp edi, 0x20
ja 0x101c7525
lea eax, [ebx + edi]
cmp eax, 0x20
ja 0x101c7525
lea ecx, [eax - 1]
mov edi, ebx
cmp ebx, ecx
ja case.0x101c7277.3
lea eax, [ebx + ebx*4]
add eax, eax
add eax, eax
add eax, eax
jmp 0x101c74b0
mov edx, dword [esi + 0xa680]
add edx, eax
cmp byte [edx + 0x8528], 0
jne 0x101c74f1
mov dword [edx + 0x852c], ebx
mov edx, dword [esi + 0xa680]
mov dword [edx + eax + 0x8530], ecx
mov edx, dword [esi + 0xa680]
mov byte [edx + eax + 0x8528], 1
inc edi
add eax, 0x28
cmp edi, ecx
jbe 0x101c74b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
push eax
push 0x100997c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x25c]
push ecx
mov dword [esp + 0x260], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x10099770
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xbc]
push eax
mov dword [esp + 0xc0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x574]
mov ebx, dword [esi + 0x40]
cmp eax, 4
ja case.default.0x101c7567
jmp dword [eax*4 + 0x101cd86c]
movzx eax, byte [esi + 0x1a]
neg eax
sbb eax, eax
and eax, 0x10
add eax, 0x10
jmp 0x101c7590
mov eax, 0x20
jmp 0x101c7590
mov eax, 8
jmp 0x101c7590
mov eax, dword [esp + 0x48]
test edi, edi
je 0x101c7635
cmp edi, eax
ja 0x101c7635
lea ecx, [ebx + edi]
cmp ecx, eax
ja 0x101c7635
dec ecx
mov edi, ebx
cmp ebx, ecx
ja case.0x101c7277.3
lea eax, [ebx + ebx*8]
add eax, eax
add eax, eax
lea ecx, [ecx]
mov edx, dword [esi + 0xa680]
cmp byte [edx + eax + 0x9924], 0
jne 0x101c7601
mov dword [edx + eax + 0x9928], ebx
mov edx, dword [esi + 0xa680]
mov dword [edx + eax + 0x992c], ecx
mov edx, dword [esi + 0xa680]
mov byte [eax + edx + 0x9924], 1
inc edi
add eax, 0x24
cmp edi, ecx
jbe 0x101c75c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
push eax
push 0x10099868
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x3cc]
push ecx
mov dword [esp + 0x3d0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x10099818
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xc4]
push eax
mov dword [esp + 0xc8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [esi + 0x641], bl
mov eax, dword [esi + 0x580]
cmp byte [esi + eax*8 + 0x2d0c4], 0
je 0x101c76f3
cmp byte [esi + 0x1b], 0
je 0x101c76bf
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x100998c0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x264]
push edx
mov dword [esp + 0x268], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x10099918
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0xcc]
push ecx
mov dword [esp + 0xd0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [esi + eax*8 + 0x2d0c4], bl
mov ecx, dword [esi + 0x554]
lea eax, [ecx - 1]
cmp eax, 0x3f
ja case.0x101c770f.2
movzx edx, byte [eax + 0x101cd88c]
jmp dword [edx*4 + 0x101cd880]
cmp byte [esi + 0x1b], 0
jne case.0x101c770f.1
mov eax, dword [esi + 0x570]
push eax
push 0x10099960
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0x334]
push ecx
mov dword [esp + 0x338], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x580]
mov dword [esi + edx*8 + 0x2d0c8], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
push eax
push 0x100999e0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0xd4]
push ecx
mov dword [esp + 0xd8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
cmp eax, 0x400
jbe case.0x101c7277.3
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x400
push 0x10099a30
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x2d0e5], 0
je 0x101c77f4
mov eax, dword [esi + 0x570]
push eax
push 0x10099aa8
call fcn.101c3320
mov ebx, 1
add esp, 8
add dword [esi + 0x14], ebx
jmp 0x101c77f9
mov ebx, 1
mov eax, dword [esi + 0x554]
cmp eax, 0x20
jbe 0x101c782b
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x20
push 0x10099af0
call fcn.101c3320
add esp, 0x10
add dword [esi + 0x14], ebx
mov byte [esi + 0x2d0e5], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, ebx
jae 0x101c7847
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x10099b60
call fcn.101c3320
add esp, 0xc
add dword [esi + 0x14], ebx
mov byte [esi + 0x2d0e5], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x2c608], 0
je 0x101c7891
mov eax, dword [esi + 0x570]
push eax
push 0x10099bb8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x26c]
push ecx
mov dword [esp + 0x270], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [esi + 0x2c608], bl
mov eax, dword [esi + 0x554]
mov dword [esi + 0x2c60c], eax
cmp byte [esi + 0x1b], 0
jne case.0x101c78bd.27
lea ecx, [eax - 8]
cmp ecx, 0x20
ja case.0x101c78bd.27
movzx edx, byte [ecx + 0x101cd8d4]
jmp dword [edx*4 + 0x101cd8cc]
mov eax, dword [esi + 0x570]
push eax
push 0x10099c00
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0xdc]
push ecx
mov dword [esp + 0xe0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
call fcn.101d7e90
mov dword [esi + 0x2c610], eax
cmp eax, edi
jne 0x101c7943
cmp dword [esi + 0x2c60c], edi
je 0x101c7943
mov edx, dword [esi + 0x570]
push edx
push 0x10099c78
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea eax, [esp + 0x39c]
push eax
mov dword [esp + 0x3a0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x554]
mov dword [esi + 0x2c60c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x574]
mov eax, dword [esi + 0xa680]
lea ecx, [eax + 0x800c]
cmp edx, 5
ja case.0x101c7971.1
jmp dword [edx*4 + 0x101cd8f8]
mov edx, dword [esi + 0x38]
add edx, 0xffffffe0
cmp edx, 4
ja case.0x101c7c63.12
jmp dword [edx*4 + 0x101cd910]
cmp dword [eax + 0xa000], edi
je 0x101c79ad
mov edx, dword [esi + 0x570]
push edx
push 0x10099cc0
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov edi, dword [esi + 0xcc]
test edi, edi
je 0x101c79bf
test edi, 0xffffff8f
je 0x101c79d6
mov eax, dword [esi + 0x570]
push eax
push 0x10099d18
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + 0xa000], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0xa004], edi
je 0x101c7a08
mov edx, dword [esi + 0x570]
push edx
push 0x10099db0
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov edi, dword [esi + 0xcc]
test edi, edi
je 0x101c7a1a
test edi, 0xffffff8f
je 0x101c7a31
mov eax, dword [esi + 0x570]
push eax
push 0x10099e08
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + 0xa004], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0xa008], edi
je 0x101c7a63
mov edx, dword [esi + 0x570]
push edx
push 0x10099ea8
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov edi, dword [esi + 0xcc]
test edi, edi
je 0x101c7a75
test edi, 0xffffff8f
je 0x101c7a8c
mov eax, dword [esi + 0x570]
push eax
push 0x10099f08
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + 0xa008], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 0xa00c], 0
je 0x101c7ac6
mov edx, dword [esi + 0x570]
push edx
push 0x10099fa8
call fcn.101c3320
mov ebx, 1
add esp, 8
add dword [esi + 0x14], ebx
jmp 0x101c7acb
mov ebx, 1
cmp dword [esi + 0xcc], edi
je 0x101c7aea
mov eax, dword [esi + 0x570]
push eax
push 0x1009a010
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
mov ecx, dword [esi + 0xa680]
mov byte [ecx + 0xa00c], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x38]
add edx, 0xfffffff5
cmp edx, 0x10
ja case.0x101c7b13.12
movzx edx, byte [edx + 0x101cd940]
jmp dword [edx*4 + 0x101cd924]
cmp byte [eax + 0x9ff8], 0
je 0x101c7b3a
mov eax, dword [esi + 0x570]
push eax
push 0x1009a090
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ecx, dword [esi + 0xa680]
mov byte [ecx + 0x9ff8], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 0x9ffd], 0
je 0x101c7b6e
mov edx, dword [esi + 0x570]
push edx
push 0x1009a0e8
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov eax, dword [esi + 0xa680]
mov byte [eax + 0x9ffd], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 0x9ffa], 0
je 0x101c7ba2
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a140
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov edx, dword [esi + 0xa680]
mov byte [edx + 0x9ffa], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 0x9ffc], 0
je 0x101c7bd6
mov eax, dword [esi + 0x570]
push eax
push 0x1009a198
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ecx, dword [esi + 0xa680]
mov byte [ecx + 0x9ffc], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + 0x850c]
mov eax, dword [esi + 0x40]
jmp 0x101c7da0
cmp byte [esi + 0x2c632], 0
jne 0x101c7c35
mov edx, dword [esi + 0x570]
push edx
push 0x1009a1f0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xe4]
push eax
mov dword [esp + 0xe8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
lea ecx, [eax + 0x8a0c]
mov eax, dword [esi + 0x68]
mov edi, dword [esi + 0x40]
lea edx, [eax + eax*4]
mov dword [ecx + edx*8 + 4], edi
jmp 0x101c7da0
mov edx, dword [esi + 0x38]
add edx, 0xfffffff5
cmp edx, 0x11
ja case.0x101c7c63.12
movzx edx, byte [edx + 0x101cd968]
jmp dword [edx*4 + 0x101cd954]
cmp byte [esi + 0x2ccbf], 0
je 0x101c7c8a
mov eax, dword [esi + 0x570]
push eax
push 0x1009a330
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov byte [esi + 0x2ccbf], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x2ccc0], edi
je 0x101c7cb7
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a378
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x2ccc0], eax
cmp eax, edi
jne case.0x101c7277.3
mov edx, dword [esi + 0x570]
push edx
push 0x1009a3c0
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
cmp eax, 0xb
je 0x101c7d36
cmp eax, 0x25
je 0x101c7d08
mov eax, dword [esi + 0x68]
mov edi, dword [esi + 0x40]
lea edx, [eax + eax*4]
mov dword [ecx + edx*8 + 4], edi
jmp 0x101c7da0
cmp byte [esi + 0x2d0e6], 0
je 0x101c7d28
mov eax, dword [esi + 0x570]
push eax
push 0x1009a468
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov byte [esi + 0x2d0e6], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x2d0e4], 0
je 0x101c7d56
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a420
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov byte [esi + 0x2d0e4], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x38], 0x23
jne case.0x101c7277.3
cmp byte [esi + 0x2d0f8], 0
je 0x101c7d8e
mov edx, dword [esi + 0x570]
push edx
push 0x1009a4b0
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov byte [esi + 0x2d0f8], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x48]
mov edx, dword [esi + 0xcc]
lea edi, [eax + eax*4]
test dword [ecx + edi*8], edx
lea edi, [ecx + edi*8]
je 0x101c7de6
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009a4f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x274]
push edx
mov dword [esp + 0x278], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor esi, esi
test dl, 0x10
je 0x101c7df4
lea ebx, [eax + eax*4]
mov dword [ecx + ebx*8 + 8], esi
test dl, 0x20
je 0x101c7e00
lea ebx, [eax + eax*4]
mov dword [ecx + ebx*8 + 0xc], esi
test dl, 0x40
je 0x101c7e0c
lea ebx, [eax + eax*4]
mov dword [ecx + ebx*8 + 0x10], esi
test dl, dl
jns 0x101c7e17
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 0x14], esi
or dword [edi], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0xcc]
mov dword [esp + 0x24], ebx
cmp dword [esi + 0x574], edx
jne 0x101c7e4f
mov edi, dword [esi + 0x68]
mov edx, dword [esi + 0xa680]
mov eax, dword [esi + 0x40]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*8 + 0x8010], eax
mov edx, 2
jmp 0x101c7e52
mov edi, dword [esi + 0x40]
mov ecx, dword [esi + 0xa680]
lea eax, [edi + edi*4]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x28], eax
test dword [ecx + eax + 0x800c], ebx
je 0x101c7ea3
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x1009a4f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0xec]
push eax
mov dword [esp + 0xf0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
sub eax, 6
je 0x101c7eb6
sub eax, edx
jne 0x101c800a
cmp dword [esi + 0x574], 1
jne 0x101c800a
cmp ebx, 0x10
je 0x101c7f0e
cmp ebx, 0x20
je 0x101c7f0e
cmp ebx, 0x40
je 0x101c7f0e
cmp ebx, 0x80
je 0x101c7f0e
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a5c8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x33c]
push edx
mov dword [esp + 0x340], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor edx, edx
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, ebx
test al, 0xf0
je 0x101c7f7d
mov ebx, dword [esi + 0x554]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + eax*4 + 0x8014], ebx
mov eax, dword [esi + 0x554]
sub eax, 6
je 0x101c7f62
sub eax, 2
jne 0x101c7f79
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9da4]
test ecx, ecx
ja 0x101c7fa2
inc ecx
mov dword [eax + 0x9da4], ecx
jmp 0x101c7f79
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9da0]
test ecx, ecx
ja 0x101c7fd6
inc ecx
mov dword [eax + 0x9da0], ecx
mov ebx, dword [esp + 0x24]
inc edx
cmp edx, 4
jb 0x101c7f10
mov eax, dword [esi + 0xa680]
mov ecx, dword [esp + 0x28]
or dword [eax + ecx + 0x800c], ebx
lea eax, [eax + ecx + 0x800c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push 0x1009a660
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xf4]
push eax
mov dword [esp + 0xf8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a618
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x27c]
push edx
mov dword [esp + 0x280], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x1009a580
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xfc]
push eax
mov dword [esp + 0x100], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0xa680]
lea ecx, [eax + 0x800c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x574]
sub ecx, edx
lea edi, [eax + 0x9d8c]
je 0x101c80ad
sub ecx, 1
je 0x101c80a0
sub ecx, 1
je 0x101c8074
mov ebx, dword [esi + 0x40]
mov dword [esp + 0x20], ebx
jmp 0x101c813a
mov ecx, dword [esi + 0x38]
sub ecx, 0x19
je 0x101c80ad
sub ecx, edx
jne 0x101c8136
mov ebx, dword [esi + 0x40]
lea edx, [eax + 0x850c]
mov dword [esp + 0x30], edx
lea edi, [eax + 0x9de4]
mov dword [esp + 0x20], ebx
jmp 0x101c813a
mov ecx, dword [esi + 0x38]
sub ecx, 0x1a
je 0x101c80dd
sub ecx, 1
je 0x101c80c4
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x40]
mov edx, dword [esp + 0x30]
lea eax, [ebx + ebx*4]
mov dword [esp + 0x20], ebx
mov dword [edx + eax*8 + 4], ecx
jmp 0x101c813a
mov ebx, dword [esi + 0x40]
lea ecx, [eax + 0x850c]
mov dword [esp + 0x30], ecx
lea edi, [eax + 0x9de4]
mov dword [esp + 0x20], ebx
jmp 0x101c813a
cmp byte [esi + 0x2c632], 0
jne 0x101c811a
mov edx, dword [esi + 0x570]
push edx
push 0x1009a1f0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x3f4]
push eax
mov dword [esp + 0x3f8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x40]
add eax, 0x8a0c
lea ecx, [ebx + ebx*4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ebx
mov dword [eax + ecx*8 + 4], edx
jmp 0x101c813a
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 0xcc]
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], eax
test dword [eax], ecx
je 0x101c818b
mov eax, dword [esi + 0x570]
push eax
push ebx
push 0x1009a4f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x104]
push ecx
mov dword [esp + 0x108], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x554]
lea eax, [edx - 1]
cmp eax, 0x15
ja case.0x101c81a4.4
movzx eax, byte [eax + 0x101cd988]
jmp dword [eax*4 + 0x101cd97c]
cmp dword [esi + 0x38], 0x1b
jne 0x101c81d3
mov eax, dword [esi + 0x574]
cmp eax, 4
je 0x101c8237
cmp eax, 3
jne 0x101c81ca
cmp dword [esi + 0x644], 4
je 0x101c8237
cmp dword [esi + 0x644], 5
je 0x101c8237
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x284]
push edx
mov dword [esp + 0x288], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x574]
cmp eax, 2
je 0x101c8237
cmp eax, 1
je 0x101c8237
cmp eax, 4
jne 0x101c8222
cmp dword [esi + 0x38], 0x1b
je 0x101c8237
cmp eax, 3
jne case.0x101c81a4.4
cmp dword [esi + 0x644], eax
jne case.0x101c81a4.4
cmp eax, 3
je 0x101c824a
cmp eax, 4
jne case.default.0x101c82b2
cmp eax, 3
jne 0x101c8252
mov ecx, dword [esi + 0x2c620]
jmp 0x101c8258
mov ecx, dword [esi + 0x2ccb8]
add edx, 0xfffffff5
mov dword [esp + 0x28], ecx
cmp edx, 0xb
ja 0x101c8299
mov eax, dword [esp + 0x24]
cmp eax, 0x10
je 0x101c8299
cmp eax, 0x20
je 0x101c8299
cmp eax, 0x40
je 0x101c8299
cmp eax, 0x80
je 0x101c8299
mov eax, dword [esi + 0x570]
push eax
push 0x1009a6f0
call fcn.101c3320
mov ecx, dword [esp + 0x30]
add esp, 8
inc dword [esi + 0x14]
mov edx, dword [esi + 0x554]
lea eax, [edx - 0xb]
cmp eax, 0xb
ja case.default.0x101c82b2
movzx eax, byte [eax + 0x101cd9ac]
jmp dword [eax*4 + 0x101cd9a0]
cmp ecx, 3
je case.default.0x101c82b2
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a750
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x10c]
push edx
mov dword [esp + 0x110], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp ecx, 2
je case.default.0x101c82b2
mov eax, dword [esi + 0x570]
push eax
push 0x1009a7a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x344]
push ecx
mov dword [esp + 0x348], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp ecx, 1
je case.default.0x101c82b2
mov edx, dword [esi + 0x570]
push edx
push 0x1009a800
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x114]
push eax
mov dword [esp + 0x118], 0x80004005
call sub.msvcrt.dll__CxxThrowException
lea eax, [edx - 1]
cmp eax, 0x15
ja case.0x101c8370.4
jmp dword [eax*4 + 0x101cd9b8]
mov eax, dword [edi + 0x28]
test eax, eax
jbe 0x101c83b2
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a860
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x28c]
push edx
mov dword [esp + 0x290], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x28], eax
xor eax, eax
jmp 0x101c83c0
lea ecx, [eax + 4]
mov edx, 1
shl edx, cl
and edx, dword [esp + 0x24]
test dl, 0xf0
je 0x101c8409
lea ecx, [ebx + ebx*4]
mov ebx, dword [esp + 0x30]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + 0x554]
mov dword [ebx + edx*4 + 8], ecx
mov ecx, dword [esi + 0x554]
add ecx, 0xfffffffe
cmp ecx, 1
ja 0x101c8405
mov ecx, dword [edi + 4]
cmp ecx, 8
ja 0x101c87d4
inc ecx
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x20]
inc eax
cmp eax, 4
jb 0x101c83c0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
or dword [eax], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
test eax, eax
jbe 0x101c845b
mov eax, dword [esi + 0x570]
push eax
push 0x1009a8c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x11c]
push ecx
mov dword [esp + 0x120], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x2c], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x30]
test eax, eax
jbe 0x101c849f
mov edx, dword [esi + 0x570]
push edx
push 0x1009a920
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x3a4]
push eax
mov dword [esp + 0x3a8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x30], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x34]
test eax, eax
jbe 0x101c84e3
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a980
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x124]
push edx
mov dword [esp + 0x128], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x34], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x38]
test eax, eax
jbe 0x101c8527
mov eax, dword [esi + 0x570]
push eax
push 0x1009a9e0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x294]
push ecx
mov dword [esp + 0x298], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x38], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x3c]
test eax, eax
jbe 0x101c856b
mov edx, dword [esi + 0x570]
push edx
push 0x1009aa38
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x12c]
push eax
mov dword [esp + 0x130], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x3c], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x40]
test eax, eax
jbe 0x101c85af
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009aa90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x34c]
push edx
mov dword [esp + 0x350], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x40], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x44]
test eax, eax
jbe 0x101c85f3
mov eax, dword [esi + 0x570]
push eax
push 0x1009aae8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x134]
push ecx
mov dword [esp + 0x138], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x44], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x48]
test eax, eax
jbe 0x101c8637
mov edx, dword [esi + 0x570]
push edx
push 0x1009ab40
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x29c]
push eax
mov dword [esp + 0x2a0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x48], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x4c]
test eax, eax
jbe 0x101c867b
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009ab98
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x13c]
push edx
mov dword [esp + 0x140], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x4c], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x50]
test eax, eax
jbe 0x101c86bf
mov eax, dword [esi + 0x570]
push eax
push 0x1009abf0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x3d4]
push ecx
mov dword [esp + 0x3d8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x50], eax
jmp case.0x101c8370.4
mov eax, dword [edi + 0x54]
test eax, eax
jbe 0x101c8703
mov edx, dword [esi + 0x570]
push edx
push 0x1009ac48
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x144]
push eax
mov dword [esp + 0x148], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x54], eax
jmp case.0x101c8370.4
mov eax, dword [edi]
test eax, eax
jbe 0x101c8746
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009aca0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x2a4]
push edx
mov dword [esp + 0x2a8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi], eax
jmp case.0x101c8370.4
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
xor eax, eax
mov dword [esp + 0x28], edx
lea ebx, [ebx]
lea ecx, [eax + 4]
mov edx, 1
shl edx, cl
and edx, dword [esp + 0x28]
test dl, 0xf0
je 0x101c878b
lea ecx, [ebx + ebx*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + edx*4 + 8]
cmp ecx, 2
je 0x101c8794
cmp ecx, 3
je 0x101c8794
inc eax
cmp eax, 4
jb 0x101c8760
inc dword [edi + 8]
cmp dword [edi + 8], 2
jbe case.0x101c8370.4
mov edx, dword [esi + 0x570]
push edx
push 2
push 0x1009ace8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x14c]
push eax
mov dword [esp + 0x150], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 8
push 0x1009ad90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x354]
push eax
mov dword [esp + 0x358], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x1009a6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x154]
push eax
mov dword [esp + 0x158], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x40]
mov ebx, dword [esi + 0xcc]
mov ecx, dword [esi + 0xa680]
lea edi, [eax + eax*4]
add edi, edi
add edi, edi
add edi, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], edi
test dword [ecx + edi + 0x800c], ebx
je 0x101c889c
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009ae08
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x2ac]
push edx
mov dword [esp + 0x2b0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
test bl, 0x10
je 0x101c88af
lea edx, [eax + eax*4]
mov dword [ecx + edx*8 + 0x8014], 0
test bl, 0x20
je 0x101c88c8
mov edx, dword [esi + 0xa680]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*8 + 0x8018], 0
test bl, 0x40
je 0x101c88e1
mov edx, dword [esi + 0xa680]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*8 + 0x801c], 0
test bl, bl
jns 0x101c88f9
mov edx, dword [esi + 0xa680]
lea ecx, [eax + eax*4 + 0x1004]
mov dword [edx + ecx*8], 0
mov ecx, dword [esi + 0x554]
dec ecx
cmp ecx, 6
ja case.default.0x101c8910
movzx ecx, byte [ecx + 0x101cda18]
jmp dword [ecx*4 + 0x101cda10]
cmp byte [esi + 0x1a], 0
je case.default.0x101c8910
mov byte [esi + 0x2d0f0], 1
mov edx, dword [esi + 0xa680]
lea ecx, [edx + edi]
mov edx, dword [ecx + 0x800c]
mov dword [esp + 0x28], ecx
test edx, edx
je 0x101c8976
xor edi, edi
lea ecx, [edi + 4]
mov ebx, 1
shl ebx, cl
and ebx, edx
test bl, 0xf0
je 0x101c8964
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x8024]
cmp ecx, dword [esi + 0x554]
jne 0x101c899d
inc edi
cmp edi, 4
jb 0x101c8941
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x554]
mov dword [ecx + 0x8024], edx
mov eax, dword [esi + 0xa680]
or dword [eax + edi + 0x800c], ebx
lea eax, [eax + edi + 0x800c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009aee0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x15c]
push eax
mov dword [esp + 0x160], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009ae90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x3ac]
push edx
mov dword [esp + 0x3b0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0xcc]
mov ecx, dword [esi + 0xa680]
lea eax, [edi + edi*4]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
test dword [eax + ecx + 0x800c], ebx
je 0x101c8a69
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x1009a4f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x164]
push eax
mov dword [esp + 0x168], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
sub eax, 7
je 0x101c8ab8
sub eax, edx
je 0x101c8ab8
sub eax, 1
je 0x101c8ab1
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a580
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x2b4]
push edx
mov dword [esp + 0x2b8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [esi + 0x2d0f0], 1
cmp ebx, 0x10
je 0x101c8b03
cmp ebx, 0x20
je 0x101c8b03
cmp ebx, 0x40
je 0x101c8b03
cmp ebx, 0x80
je 0x101c8b03
mov eax, dword [esi + 0x570]
push eax
push 0x1009a5c8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x16c]
push ecx
mov dword [esp + 0x170], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor edx, edx
jmp 0x101c8b14
mov ebx, dword [esp + 0x24]
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, ebx
test al, 0xf0
je 0x101c8bab
mov ebx, dword [esi + 0x554]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + eax*4 + 0x8014], ebx
mov eax, dword [esi + 0x554]
sub eax, 7
je 0x101c8b90
sub eax, 2
je 0x101c8b73
sub eax, 1
jne 0x101c8bab
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9db0]
test ecx, ecx
ja 0x101c8bf9
inc ecx
mov dword [eax + 0x9db0], ecx
jmp 0x101c8bab
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9dac]
test ecx, ecx
ja 0x101c8c2d
inc ecx
mov dword [eax + 0x9dac], ecx
jmp 0x101c8bab
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9da8]
test ecx, ecx
ja 0x101c8c61
inc ecx
mov dword [eax + 0x9da8], ecx
inc edx
cmp edx, 4
jb 0x101c8b10
mov eax, dword [esi + 0x558]
sub eax, 1
je 0x101c8c95
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x1009b050
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x17c]
push eax
mov dword [esp + 0x180], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x1009b000
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x35c]
push eax
mov dword [esp + 0x360], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009afb0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x174]
push edx
mov dword [esp + 0x178], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x1009af60
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x2bc]
push ecx
mov dword [esp + 0x2c0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 0xa680]
lea edi, [edx + ecx]
mov edx, dword [edi + 0x800c]
test edx, edx
je 0x101c8cd4
xor eax, eax
mov edi, edi
lea ecx, [eax + 4]
mov ebx, 1
shl ebx, cl
and ebx, edx
test bl, 0xf0
je 0x101c8cce
mov ebx, 1
cmp dword [edi + 0x8024], ebx
jne 0x101c8d01
inc eax
cmp eax, 4
jb 0x101c8cb0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [edi + 0x8024], 1
mov eax, dword [esi + 0xa680]
or dword [ecx + eax + 0x800c], edx
lea eax, [ecx + eax + 0x800c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push 0x1009aee0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x3ec]
push edx
mov dword [esp + 0x3f0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0xa680]
mov ecx, dword [esi + 0xcc]
lea eax, [ebx + ebx*4]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [eax + edi + 0x800c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], eax
test eax, ecx
je 0x101c8da2
mov eax, dword [esi + 0x570]
push eax
push ebx
push 0x1009a4f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x184]
push ecx
mov dword [esp + 0x188], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
lea edx, [eax - 1]
cmp edx, 4
ja 0x101c924d
dec eax
cmp eax, 4
ja case.default.0x101c8dbe
jmp dword [eax*4 + 0x101cda20]
mov eax, dword [edi + 0x9d8c]
test eax, eax
jbe 0x101c8e03
mov eax, dword [esi + 0x570]
push eax
push 0x1009aca0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x2c4]
push ecx
mov dword [esp + 0x2c8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x9d8c], eax
mov edx, dword [esi + 0x558]
mov dword [esi + 0x2d0f4], edx
mov eax, dword [esi + 0x558]
cmp eax, 4
jl 0x101c8e39
cmp eax, 5
jle case.default.0x101c8dbe
cmp eax, 7
jne 0x101c8e39
cmp byte [esi + 0x1a], 0
jne case.default.0x101c8dbe
mov eax, dword [esi + 0x570]
push eax
push ebx
push 0x1009b0b0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x54], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor eax, eax
lea ebx, [ebx]
lea ecx, [eax + 4]
mov edx, 1
shl edx, cl
and edx, dword [esp + 0x4c]
test dl, 0xf0
je 0x101c8e9a
lea ecx, [ebx + ebx*4]
lea edx, [eax + ecx*2]
mov ecx, dword [edi + edx*4 + 0x8014]
cmp ecx, 2
je 0x101c8ea6
cmp ecx, 3
je 0x101c8ea6
inc eax
cmp eax, 4
jb 0x101c8e70
inc dword [edi + 0x9d94]
mov eax, dword [esi + 0xa680]
cmp dword [eax + 0x9d94], 2
jbe 0x101c8eeb
mov ecx, dword [esi + 0x570]
push ecx
push 2
push 0x1009ace8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x364]
push edx
mov dword [esp + 0x368], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x558]
cmp eax, 2
jl 0x101c8f0e
cmp eax, 3
jle case.default.0x101c8dbe
cmp eax, 6
jne 0x101c8f0e
cmp byte [esi + 0x1a], 0
jne case.default.0x101c8dbe
mov eax, dword [esi + 0x570]
push eax
push ebx
push 0x1009b158
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x194]
push ecx
mov dword [esp + 0x198], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, ecx
cmp eax, 0x10
je 0x101c8f8f
cmp eax, 0x20
je 0x101c8f8f
cmp eax, 0x40
je 0x101c8f8f
cmp eax, 0x80
je 0x101c8f8f
mov edx, dword [esi + 0x570]
push edx
push 0x1009b1f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x2cc]
push eax
mov dword [esp + 0x2d0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor edx, edx
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, dword [esp + 0x2c]
test al, 0xf0
je 0x101c9000
mov edi, dword [esi + 0x554]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*2]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + eax*4 + 0x8014], edi
mov eax, dword [esi + 0x554]
sub eax, 4
je 0x101c8fe5
sub eax, 1
jne 0x101c9000
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9d9c]
test ecx, ecx
ja 0x101c904a
inc ecx
mov dword [eax + 0x9d9c], ecx
jmp 0x101c9000
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + 0x9d98]
test ecx, ecx
ja 0x101c907e
inc ecx
mov dword [eax + 0x9d98], ecx
inc edx
cmp edx, 4
jb 0x101c8f91
mov eax, dword [esi + 0x558]
sub eax, 1
je case.default.0x101c8dbe
mov eax, dword [esi + 0x570]
push eax
push ebx
push 0x1009b318
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x1a4]
push ecx
mov dword [esp + 0x1a8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push 0x1009b2c8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x19c]
push eax
mov dword [esp + 0x1a0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b270
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x3b4]
push edx
mov dword [esp + 0x3b8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor eax, eax
lea ecx, [eax + 4]
mov edx, 1
shl edx, cl
and edx, dword [esp + 0x2c]
test dl, 0xf0
je 0x101c9106
mov edi, dword [esi + 0x554]
lea ecx, [ebx + ebx*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + 0xa680]
mov dword [ecx + edx*4 + 0x8014], edi
mov ecx, dword [esi + 0x554]
add ecx, 0xfffffffe
cmp ecx, 1
ja 0x101c9106
mov ecx, dword [esi + 0xa680]
mov edx, dword [ecx + 0x9d90]
cmp edx, 8
ja 0x101c912a
inc edx
mov dword [ecx + 0x9d90], edx
inc eax
cmp eax, 4
jb 0x101c90b4
mov eax, dword [esi + 0x558]
dec eax
cmp eax, 6
ja case.default.0x101c9123
movzx ecx, byte [eax + 0x101cda3c]
jmp dword [ecx*4 + 0x101cda34]
mov edx, dword [esi + 0x570]
push edx
push 8
push 0x1009ad90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x2d4]
push eax
mov dword [esp + 0x2d8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x1a], 0
je case.default.0x101c9123
mov byte [esi + 0x2d0f0], 1
mov edx, dword [esi + 0xa680]
mov eax, dword [esp + 0x28]
mov edi, dword [edx + eax + 0x800c]
add edx, eax
test edi, edi
je 0x101c91b5
xor eax, eax
lea ebx, [ebx]
lea ecx, [eax + 4]
mov ebx, 1
shl ebx, cl
and ebx, edi
test bl, 0xf0
je 0x101c91af
mov ecx, dword [edx + 0x8024]
cmp ecx, dword [esi + 0x558]
jne 0x101c91df
inc eax
cmp eax, 4
jb 0x101c9190
mov eax, dword [esi + 0x558]
mov dword [edx + 0x8024], eax
mov ecx, dword [esi + 0xa680]
mov edx, dword [esp + 0x28]
lea eax, [edx + ecx + 0x800c]
mov ecx, dword [esp + 0x2c]
or dword [eax], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
mov eax, dword [esp + 0x24]
push edx
push eax
push 0x1009aee0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x1ac]
push ecx
mov dword [esp + 0x1b0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push ebx
push 0x1009ae90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x36c]
push eax
mov dword [esp + 0x370], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x1b4]
push edx
mov dword [esp + 0x1b8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [esi + 0x641], bl
mov ecx, dword [esi + 0x38]
lea eax, [ecx - 0xc]
cmp eax, 0x1b
ja case.0x101c92a2.13
movzx eax, byte [eax + 0x101cda50]
jmp dword [eax*4 + 0x101cda44]
mov al, byte [esi + 0x2d0e8]
test al, al
je 0x101c92e4
cmp dword [esi + 0x2d0ec], ecx
jne 0x101c92c9
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b3a8
jmp 0x101c92d9
test al, al
je 0x101c92e4
mov edx, dword [esi + 0x570]
push edx
push 0x1009b3f0
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
mov byte [esi + 0x2d0e8], bl
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2d0ec], eax
jmp case.0x101c92a2.13
cmp byte [esi + 0x2d0f9], 0
je 0x101c9315
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b468
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
mov byte [esi + 0x2d0f9], bl
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xc49c]
mov edx, dword [esi + 0xcc]
cmp eax, ecx
jb 0x101c9364
mov edx, dword [esi + 0x570]
push edx
push ecx
push eax
push 0x1009b4b8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x2dc]
push eax
mov dword [esp + 0x2e0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xc498]
lea edi, [eax + 1]
cmp ecx, edi
ja 0x101c9373
mov ecx, edi
mov dword [esi + 0xc498], ecx
mov ecx, dword [esi + 0x580]
mov edi, dword [esi + 0xa680]
shl ecx, 5
add ecx, eax
lea ebx, [ecx + ecx*4 + 0x23c3]
test dword [edi + ebx*4], edx
je 0x101c93cb
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009b548
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x1bc]
push eax
mov dword [esp + 0x1c0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor ebx, ebx
test dl, 0x10
je 0x101c93dc
lea ecx, [ecx + ecx*4]
mov dword [edi + ecx*4 + 0x8f10], ebx
test dl, 0x20
je 0x101c93fc
mov ecx, dword [esi + 0x580]
mov edi, dword [esi + 0xa680]
shl ecx, 5
add ecx, eax
lea ecx, [ecx + ecx*4]
mov dword [edi + ecx*4 + 0x8f14], ebx
test dl, 0x40
je 0x101c941c
mov ecx, dword [esi + 0x580]
mov edi, dword [esi + 0xa680]
shl ecx, 5
add ecx, eax
lea ecx, [ecx + ecx*4]
mov dword [edi + ecx*4 + 0x8f18], ebx
test dl, dl
jns 0x101c943b
mov ecx, dword [esi + 0x580]
mov edi, dword [esi + 0xa680]
shl ecx, 5
add ecx, eax
lea ecx, [ecx + ecx*4]
mov dword [edi + ecx*4 + 0x8f1c], ebx
mov ecx, dword [esi + 0x580]
mov edi, dword [esi + 0xa680]
shl ecx, 5
lea ecx, [ecx + eax + 0x727]
lea ecx, [ecx + ecx*4]
or dword [edi + ecx*4], edx
lea ecx, [edi + ecx*4]
mov ecx, dword [esi + 0xa680]
lea eax, [eax + eax*8]
or dword [ecx + eax*4 + 0x990c], edx
lea eax, [ecx + eax*4 + 0x990c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x641], 1
mov eax, dword [esi + 0x580]
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0xcc]
mov edx, dword [esi + 0xa680]
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + edi + 0x727]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x24], ebx
test dword [edx + ecx*4], ebx
je 0x101c94e1
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x1009b5d0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x3dc]
push eax
mov dword [esp + 0x3e0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x554]
sub ecx, 7
je 0x101c94f5
sub ecx, 2
jne 0x101c9672
cmp dword [esi + 0x574], 2
jne 0x101c9672
cmp ebx, 0x10
je 0x101c954d
cmp ebx, 0x20
je 0x101c954d
cmp ebx, 0x40
je 0x101c954d
cmp ebx, 0x80
je 0x101c954d
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a5c8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x1c4]
push edx
mov dword [esp + 0x1c8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
imul eax, eax, 0x58
lea eax, [eax + edx + 0x9e94]
mov dword [esp + 0x28], eax
xor edx, edx
lea ecx, [ecx]
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, ebx
test al, 0xf0
je 0x101c95c7
mov eax, dword [esi + 0x580]
mov ebx, dword [esi + 0x554]
shl eax, 5
add eax, edi
lea ecx, [edx + eax*4]
add ecx, eax
mov eax, dword [esi + 0xa680]
mov dword [eax + ecx*4 + 0x8f10], ebx
mov eax, dword [esi + 0x554]
sub eax, 7
je 0x101c95b4
sub eax, 2
jne 0x101c95c3
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x20]
test eax, eax
ja 0x101c960a
inc eax
mov dword [ecx + 0x20], eax
jmp 0x101c95c3
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x1c]
test eax, eax
ja 0x101c963e
inc eax
mov dword [ecx + 0x1c], eax
mov ebx, dword [esp + 0x24]
inc edx
cmp edx, 4
jb 0x101c9560
mov edx, dword [esi + 0x580]
mov ecx, dword [esi + 0xa680]
shl edx, 5
lea eax, [edx + edi + 0x727]
lea eax, [eax + eax*4]
or dword [ecx + eax*4], ebx
lea eax, [ecx + eax*4]
mov eax, dword [esi + 0xa680]
lea edx, [edi + edi*8]
or dword [eax + edx*4 + 0x990c], ebx
lea eax, [eax + edx*4 + 0x990c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x2e4]
push edx
mov dword [esp + 0x2e8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x1009b658
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x1cc]
push ecx
mov dword [esp + 0x1d0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a580
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x374]
push edx
mov dword [esp + 0x378], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [esi + 0x641], 1
mov edi, dword [esi + 0x580]
mov ecx, dword [esi + 0x40]
mov ebx, dword [esi + 0xcc]
mov edx, dword [esi + 0xa680]
mov eax, edi
shl eax, 5
lea eax, [eax + ecx + 0x727]
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], ebx
test dword [edx + eax*4], ebx
je 0x101c9713
mov edx, dword [esi + 0x570]
push edx
push ecx
push 0x1009b5d0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x1d4]
push eax
mov dword [esp + 0x1d8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, dword [esi + 0x554]
lea eax, [ebx - 1]
cmp eax, 0x15
ja case.0x101c972c.6
movzx ecx, byte [eax + 0x101cda7c]
jmp dword [ecx*4 + 0x101cda6c]
mov eax, dword [esi + 0x574]
cmp eax, 3
jne 0x101c974e
mov ecx, dword [esi + 0x644]
cmp ecx, 4
je 0x101c97b3
cmp ecx, 5
je 0x101c97b3
mov edx, dword [esi + 0x570]
push edx
push 0x1009a6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x2ec]
push eax
mov dword [esp + 0x2f0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x574]
cmp eax, 2
je 0x101c97b3
cmp eax, 1
je 0x101c97b3
cmp eax, 4
je 0x101c97b3
cmp eax, 3
jne case.0x101c972c.4
cmp dword [esi + 0x644], eax
je 0x101c97b3
mov eax, dword [esi + 0x574]
cmp eax, 2
jne case.0x101c972c.6
cmp eax, 3
je 0x101c97c4
imul edi, edi, 0x58
lea edi, [edi + edx + 0x9e94]
jmp 0x101c97e1
mov ecx, dword [esi + 0x644]
cmp ecx, 3
je 0x101c97b8
add ecx, 0xfffffffc
lea edi, [edx + 0x9e3c]
cmp ecx, 1
jbe 0x101c97e1
mov edi, dword [esp + 0x48]
cmp eax, 3
jne case.default.0x101c983c
add ebx, 0xfffffff5
cmp ebx, 0xb
ja 0x101c9823
mov eax, dword [esp + 0x20]
cmp eax, 0x10
je 0x101c9823
cmp eax, 0x20
je 0x101c9823
cmp eax, 0x40
je 0x101c9823
cmp eax, 0x80
je 0x101c9823
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a6f0
call fcn.101c3320
add esp, 8
inc dword [esi + 0x14]
mov ebx, dword [esi + 0x554]
lea eax, [ebx - 0xb]
cmp eax, 0xb
ja case.default.0x101c983c
movzx edx, byte [eax + 0x101cdaa0]
jmp dword [edx*4 + 0x101cda94]
cmp dword [esi + 0x2c620], 3
je case.default.0x101c983c
mov eax, dword [esi + 0x570]
push eax
push 0x1009a750
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x1dc]
push ecx
mov dword [esp + 0x1e0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [esi + 0x2c620], 2
je case.default.0x101c983c
mov edx, dword [esi + 0x570]
push edx
push 0x1009a7a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x3bc]
push eax
mov dword [esp + 0x3c0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [esi + 0x2c620], 1
je case.default.0x101c983c
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a800
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x1e4]
push edx
mov dword [esp + 0x1e8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
lea eax, [ebx - 1]
cmp eax, 0x15
ja case.0x101c9906.6
jmp dword [eax*4 + 0x101cdaac]
mov eax, dword [edi + 0x28]
test eax, eax
jbe 0x101c9948
mov eax, dword [esi + 0x570]
push eax
push 0x1009b6f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x2f4]
push ecx
mov dword [esp + 0x2f8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x28], eax
xor edx, edx
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, dword [esp + 0x20]
test al, 0xf0
je 0x101c99a3
mov eax, dword [esi + 0x580]
mov ebx, dword [esi + 0x554]
shl eax, 5
add eax, dword [esp + 0x2c]
lea ecx, [edx + eax*4]
add ecx, eax
mov eax, dword [esi + 0xa680]
mov dword [eax + ecx*4 + 0x8f10], ebx
mov eax, dword [esi + 0x554]
add eax, 0xfffffffe
cmp eax, 1
ja 0x101c99a3
mov eax, dword [edi + 4]
cmp eax, 8
ja 0x101c9f1a
inc eax
mov dword [edi + 4], eax
inc edx
cmp edx, 4
jb 0x101c994e
mov eax, dword [esi + 0x580]
mov ecx, dword [esp + 0x2c]
shl eax, 5
lea eax, [eax + ecx + 0x727]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0xa680]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
or dword [eax], edx
mov eax, dword [esi + 0xa680]
lea ecx, [ecx + ecx*8]
or dword [eax + ecx*4 + 0x990c], edx
lea eax, [eax + ecx*4 + 0x990c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
test eax, eax
jbe 0x101c9a28
mov edx, dword [esi + 0x570]
push edx
push 0x1009b758
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x1ec]
push eax
mov dword [esp + 0x1f0], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x2c], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x30]
test eax, eax
jbe 0x101c9a6c
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b7b8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x37c]
push edx
mov dword [esp + 0x380], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x30], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x34]
test eax, eax
jbe 0x101c9ab0
mov eax, dword [esi + 0x570]
push eax
push 0x1009b818
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x1f4]
push ecx
mov dword [esp + 0x1f8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x34], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x38]
test eax, eax
jbe 0x101c9af4
mov edx, dword [esi + 0x570]
push edx
push 0x1009b878
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x2fc]
push eax
mov dword [esp + 0x300], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x38], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x3c]
test eax, eax
jbe 0x101c9b38
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b8d8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x1fc]
push edx
mov dword [esp + 0x200], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x3c], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x40]
test eax, eax
jbe 0x101c9b7c
mov eax, dword [esi + 0x570]
push eax
push 0x1009b938
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x3fc]
push ecx
mov dword [esp + 0x400], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x40], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x44]
test eax, eax
jbe 0x101c9bc0
mov edx, dword [esi + 0x570]
push edx
push 0x1009b998
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x204]
push eax
mov dword [esp + 0x208], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x44], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x48]
test eax, eax
jbe 0x101c9c04
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b9f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x304]
push edx
mov dword [esp + 0x308], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x48], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x4c]
test eax, eax
jbe 0x101c9c48
mov eax, dword [esi + 0x570]
push eax
push 0x1009ba58
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x20c]
push ecx
mov dword [esp + 0x210], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x4c], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x50]
test eax, eax
jbe 0x101c9c8c
mov edx, dword [esi + 0x570]
push edx
push 0x1009bab0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x384]
push eax
mov dword [esp + 0x388], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x50], eax
jmp case.0x101c9906.6
mov eax, dword [edi + 0x54]
test eax, eax
jbe 0x101c9cd0
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009bb08
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x214]
push edx
mov dword [esp + 0x218], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi + 0x54], eax
jmp case.0x101c9906.6
cmp dword [esp + 0x20], 0xf0
je 0x101c9d11
mov eax, dword [esi + 0x570]
push eax
push 0x1009bb68
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x54]
push ecx
mov dword [esp + 0x58], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [edi]
test eax, eax
jbe 0x101c9d4b
mov edx, dword [esi + 0x570]
push edx
push 0x1009bbb8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x21c]
push eax
mov dword [esp + 0x220], 0x80004005
call sub.msvcrt.dll__CxxThrowException
inc eax
mov dword [edi], eax
jmp case.0x101c9906.6
mov ecx, dword [esi + 0x580]
mov edx, dword [esp + 0x2c]
shl ecx, 5
xor eax, eax
add edx, ecx
mov ecx, dword [esi + 0xa680]
lea ebx, [edx + edx*4 + 0x23c3]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0x28], ecx
jmp 0x101c9d80
lea ecx, [eax + 4]
mov ebx, 1
shl ebx, cl
and ebx, dword [esp + 0x28]
test bl, 0xf0
je 0x101c9daf
mov ecx, dword [esi + 0xa680]
lea ebx, [eax + edx*4]
add ebx, edx
mov ecx, dword [ecx + ebx*4 + 0x8f10]
cmp ecx, 2
je 0x101c9db8
cmp ecx, 3
je 0x101c9db8
inc eax
cmp eax, 4
jb 0x101c9d80
inc dword [edi + 8]
cmp dword [edi + 8], 2
jbe case.0x101c9906.6
mov edx, dword [esi + 0x570]
push edx
push 2
push 0x1009ace8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x3c4]
push eax
mov dword [esp + 0x3c8], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esp + 0x20]
cmp eax, 0x10
je 0x101c9e46
cmp eax, 0x20
je 0x101c9e46
cmp eax, 0x40
je 0x101c9e46
cmp eax, 0x80
je 0x101c9e46
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009b1f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x224]
push edx
mov dword [esp + 0x228], 0x80004005
call sub.msvcrt.dll__CxxThrowException
xor edx, edx
lea ecx, [edx + 4]
mov eax, 1
shl eax, cl
and eax, dword [esp + 0x20]
test al, 0xf0
je 0x101c9ea7
mov eax, dword [esi + 0x580]
mov ebx, dword [esi + 0x554]
shl eax, 5
add eax, dword [esp + 0x2c]
lea ecx, [edx + eax*4]
add ecx, eax
mov eax, dword [esi + 0xa680]
mov dword [eax + ecx*4 + 0x8f10], ebx
mov eax, dword [esi + 0x554]
sub eax, 4
je 0x101c9e9c
sub eax, 1
jne 0x101c9ea7
mov eax, dword [edi + 0x10]
test eax, eax
ja 0x101c9eb2
inc eax
mov dword [edi + 0x10], eax
jmp 0x101c9ea7
mov eax, dword [edi + 0xc]
test eax, eax
ja 0x101c9ee6
inc eax
mov dword [edi + 0xc], eax
inc edx
cmp edx, 4
jb 0x101c9e48
jmp case.0x101c9906.6
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009bc58
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x314]
push edx
mov dword [esp + 0x318], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x1009bc00
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x22c]
push ecx
mov dword [esp + 0x230], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 8
push 0x1009ad90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x5c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009a6a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x64], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x588], 0
je 0x101c9f9f
mov eax, dword [esi + 0x570]
push eax
push 0x1009bcb0
call fcn.101c3320
mov ebx, 1
add esp, 8
add dword [esi + 0x14], ebx
jmp 0x101c9fa4
mov ebx, 1
lea edi, [esi + 0x20]
mov ecx, edi
mov byte [esi + 0x588], bl
call fcn.101d8bb9
cmp eax, 5
jb 0x101c9ff9
test dword [esi + 0x554], 0xffffe7ff
je 0x101c9fdc
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009bcf8
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
test dword [esi + 0x554], 0x1000
je case.0x101c7277.3
mov byte [esi + 0x2d108], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [esi + 0x554], 0xffffb7ff
je 0x101ca01c
mov edx, dword [esi + 0x570]
push edx
push 0x1009bcf8
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
test dword [esi + 0x554], 0x4000
je case.0x101c7277.3
mov ecx, edi
call fcn.101d8b9e
cmp eax, 5
jne 0x101ca04f
mov eax, dword [esi + 0x570]
push eax
push 0x1009bd38
call fcn.101c3320
add esp, 8
add dword [esi + 0x14], ebx
mov byte [esi + 0x2d10a], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x640], 0
je case.0x101c7277.3
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009bdb8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
mov ebx, 1
cmp eax, ebx
jb 0x101ca15b
cmp eax, 0x20
ja 0x101ca15b
mov ecx, dword [esi + 0x574]
cmp ecx, 3
jne 0x101ca108
cmp byte [esi + 0x2c62c], 0
je 0x101ca0f5
mov eax, dword [esi + 0x570]
push eax
push 0x1009beb8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x74], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2c618], eax
mov byte [esi + 0x2c62c], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 4
jne case.0x101c7277.3
cmp byte [esi + 0x2ccbc], 0
je 0x101ca148
mov edx, dword [esi + 0x570]
push edx
push 0x1009bf20
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 8
push 0x101de948
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x7c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2ccb4], eax
mov byte [esi + 0x2ccbc], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x20
push ebx
push 0x1009be58
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x84], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2c62d], 0
je 0x101ca1d0
mov eax, dword [esi + 0x570]
push eax
push 0x1009bf88
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0x88]
push ecx
mov dword [esp + 0x8c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
mov ebx, 1
cmp eax, ebx
jb 0x101ca1f7
cmp eax, 0x20
ja 0x101ca1f7
mov dword [esi + 0x2c61c], eax
mov byte [esi + 0x2c62d], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x20
push ebx
push 0x1009bff0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x14
push 0x101de948
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x94], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
lea ecx, [eax - 1]
cmp ecx, edx
ja 0x101ca2f6
mov ecx, dword [esi + 0x574]
cmp ecx, 3
jne 0x101ca29c
cmp byte [esi + 0x2c62e], 0
je 0x101ca288
mov edx, dword [esi + 0x570]
push edx
push 0x1009c0c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x9c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2c620], eax
mov byte [esi + 0x2c62e], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 4
jne case.0x101c7277.3
cmp byte [esi + 0x2ccbd], 0
je 0x101ca2e2
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009c0c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0xa4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2ccb8], eax
mov byte [esi + 0x2ccbd], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
push eax
push 0x1009c050
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0xa8]
push ecx
mov dword [esp + 0xac], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
dec eax
cmp eax, 3
ja 0x101ca381
cmp byte [esi + 0x2c62f], 0
je 0x101ca373
mov edx, dword [esi + 0x570]
push edx
push 0x1009c1a0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xb0]
push eax
mov dword [esp + 0xb4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [esi + 0x2c62f], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009c110
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0xb8]
push edx
mov dword [esp + 0xbc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x101ca414
cmp byte [esi + 0x2c630], 0
je 0x101ca400
mov edx, dword [esi + 0x570]
push edx
push 0x1009c288
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea eax, [esp + 0xc0]
push eax
mov dword [esp + 0xc4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2c628], eax
mov byte [esi + 0x2c630], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009c1f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0xc8]
push edx
mov dword [esp + 0xcc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2c631], 0
je 0x101ca485
mov eax, dword [esi + 0x570]
push eax
push 0x1009c2e8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0xd0]
push ecx
mov dword [esp + 0xd4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
fld1
fcomp dword [esi + 0x554]
fnstsw ax
test ah, 0x41
je 0x101ca4b5
fld dword [0x100a3128]
fcomp dword [esi + 0x554]
fnstsw ax
test ah, 5
jnp 0x101ca4b5
mov byte [esi + 0x2c631], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
fld dword [esi + 0x554]
push edx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x100a3120]
fstp qword [esp + 8]
fld1
fstp qword [esp]
push 0x1009c348
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x20
push 0x101de948
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0xdc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xa680]
cmp byte [ecx + 0x9ff9], 0
je 0x101ca548
mov ecx, dword [esi + 0x570]
push ecx
push 0x1009c3a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea edx, [esp + 0xe0]
push edx
mov dword [esp + 0xe4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
mov ebx, 1
cmp eax, ebx
jb 0x101ca569
cmp eax, 0xffffffff
ja 0x101ca569
mov byte [ecx + 0x9ff9], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0x1009c420
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x14
push 0x101de948
lea edx, [esp + 0xe8]
push edx
mov dword [esp + 0xec], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xa680]
cmp byte [ecx + 0x9ffb], 0
je 0x101ca5e4
mov eax, dword [esi + 0x570]
push eax
push 0x1009c488
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 8
push 0x101de948
lea ecx, [esp + 0xf0]
push ecx
mov dword [esp + 0xf4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x554]
mov ebx, 1
cmp eax, ebx
jb 0x101ca605
cmp eax, 0xffffffff
ja 0x101ca605
mov byte [ecx + 0x9ffb], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push eax
push 0xffffffffffffffff
push ebx
push 0x1009c500
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x14
push 0x101de948
lea eax, [esp + 0xf8]
push eax
mov dword [esp + 0xfc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x1b], 0
mov edx, dword [esi + 0x554]
mov edi, 1
je 0x101ca788
cmp edx, edi
jb 0x101ca74d
cmp edx, 0x400
ja 0x101ca74d
mov ecx, dword [esi + 0x558]
cmp ecx, edi
jb 0x101ca712
cmp ecx, 0x400
ja 0x101ca712
mov eax, dword [esi + 0x55c]
cmp eax, edi
jb 0x101ca6da
cmp eax, 0x40
ja 0x101ca6da
imul eax, ecx
imul eax, edx
cmp eax, 0x400
jbe 0x101ca80c
mov ecx, dword [esi + 0x570]
push ecx
push 0x400
push eax
push 0x1009c688
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x100]
push edx
mov dword [esp + 0x104], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push 0x40
push edi
push eax
push 0x1009c628
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x108]
push edx
mov dword [esp + 0x10c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x400
push edi
push ecx
push 0x1009c5c8
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x110]
push ecx
mov dword [esp + 0x114], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x400
push edi
push edx
push 0x1009c568
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x118]
push ecx
mov dword [esp + 0x11c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp edx, edi
jb 0x101ca88c
cmp edx, 0x300
ja 0x101ca88c
mov ecx, dword [esi + 0x558]
cmp ecx, edi
jb 0x101ca851
cmp ecx, 0x300
ja 0x101ca851
mov eax, dword [esi + 0x55c]
cmp eax, edi
jb 0x101ca819
cmp eax, 0x40
ja 0x101ca819
imul eax, ecx
imul eax, edx
cmp eax, 0x300
jbe 0x101ca80c
mov edx, dword [esi + 0x570]
push edx
push 0x300
push eax
push 0x1009c7f8
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x120]
push eax
mov dword [esp + 0x124], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [esi + 0x2c584], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push 0x40
push edi
push eax
push 0x1009c628
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x128]
push edx
mov dword [esp + 0x12c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x300
push edi
push ecx
push 0x1009c778
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x130]
push ecx
mov dword [esp + 0x134], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push 0x300
push edi
push edx
push 0x1009c6f8
call fcn.101c3320
add dword [esi + 0x14], edi
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x138]
push ecx
mov dword [esp + 0x13c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x40]
lea edx, [ecx + ecx*8 + 0x2ca6]
cmp byte [esi + edx*4], 0
lea eax, [esi + edx*4]
je 0x101ca90f
mov eax, dword [esi + 0x570]
push eax
push ecx
push 0x100993a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x140]
push ecx
mov dword [esp + 0x144], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, 1
mov byte [eax], dl
lea eax, [ecx + ecx*8]
lea eax, [esi + eax*4]
mov byte [eax + 0xb2b4], dl
mov byte [eax + 0xb2b5], 0
mov dword [eax + 0xb2b8], edi
mov dword [eax + 0xb29c], edx
mov dword [eax + 0xb2b0], edx
lea eax, [ecx + ecx*8]
mov ecx, 6
mov dword [esi + eax*4 + 0xb2a0], ecx
mov dword [esi + eax*4 + 0xb2a4], ecx
mov dword [esi + eax*4 + 0xb2a8], ecx
mov dword [esi + eax*4 + 0xb2ac], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x40]
lea ecx, [eax + eax*8 + 0x2ca6]
cmp byte [esi + ecx*4], 0
lea ecx, [esi + ecx*4]
je 0x101ca9ae
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x100993a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x148]
push eax
mov dword [esp + 0x14c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [ecx], bl
lea ecx, [eax + eax*8]
lea ecx, [esi + ecx*4]
mov byte [ecx + 0xb2b4], 0
mov byte [ecx + 0xb2b5], bl
mov edx, dword [esi + 0x554]
mov dword [ecx + 0xb2b8], edx
test dl, 3
je 0x101caa0f
mov ecx, dword [esi + 0x570]
push ecx
push edx
push eax
push 0x1009c888
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x150]
push edx
mov dword [esp + 0x154], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov dword [ecx + 0xb29c], ebx
mov dword [ecx + 0xb2b0], ebx
lea eax, [eax + eax*8]
jmp 0x101ca93e
mov eax, dword [esi + 0x40]
lea ecx, [eax*8]
sub ecx, eax
cmp byte [esi + ecx*4 + 0xc4b4], 0
lea ecx, [esi + ecx*4]
je 0x101caa71
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009c924
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x158]
push eax
mov dword [esp + 0x15c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc498]
cmp eax, edx
jae 0x101caab2
mov ecx, dword [esi + 0x570]
push ecx
dec edx
push edx
push eax
push 0x1009c960
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x160]
push edx
mov dword [esp + 0x164], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc49c]
cmp edx, eax
jb 0x101caabe
mov edx, eax
mov dword [esi + 0xc49c], edx
mov ebx, 1
mov byte [ecx + 0xc4b4], bl
mov byte [ecx + 0xc4b5], 0
mov byte [ecx + 0xc4b6], 0
mov dword [ecx + 0xc4b8], edi
mov edx, dword [esi + 0x554]
lea edi, [edx - 1]
cmp edi, 9
ja case.default.0x101caafc
movzx edi, byte [edi + 0x101cdb0c]
jmp dword [edi*4 + 0x101cdb04]
mov dword [ecx + 0xc4a0], edx
xor ecx, ecx
lea edi, [esi + 0x558]
mov edx, dword [edi]
lea ebx, [edx - 1]
cmp ebx, 5
ja 0x101cab6f
lea ebx, [eax*8]
sub ebx, eax
add ebx, ecx
inc ecx
add edi, 4
mov dword [esi + ebx*4 + 0xc4a4], edx
cmp ecx, 4
jb 0x101cab11
mov ecx, dword [esi + 0x568]
test ecx, ecx
je case.0x101c7277.3
test ecx, 0xfffeffff
je case.0x101c7277.3
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009cb38
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x570]
push edx
push eax
push ecx
push 0x1009cad8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x16c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009c9f8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x170]
push eax
mov dword [esp + 0x174], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
push ecx
push eax
push 0x1009ca88
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x178]
push edx
mov dword [esp + 0x17c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x40]
lea eax, [ecx*8]
sub eax, ecx
cmp byte [esi + eax*4 + 0xc4b4], 0
lea eax, [esi + eax*4]
je 0x101cac5d
mov edx, dword [esi + 0x570]
push edx
push ecx
push 0x1009c924
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x180]
push eax
mov dword [esp + 0x184], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc498]
cmp ecx, edx
jae 0x101cac9e
mov eax, dword [esi + 0x570]
push eax
dec edx
push edx
push ecx
push 0x1009c960
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x188]
push ecx
mov dword [esp + 0x18c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc49c]
cmp edx, ecx
jb 0x101cacaa
mov edx, ecx
mov dword [esi + 0xc49c], edx
mov ebx, 1
mov byte [eax + 0xc4b4], bl
mov byte [eax + 0xc4b5], bl
mov byte [eax + 0xc4b6], 0
mov dword [eax + 0xc4b8], edi
mov dword [eax + 0xc4a0], ebx
lea edx, [ecx + 0x706]
lea edi, [edx*8]
lea eax, [ecx*8]
sub eax, ecx
sub edi, edx
mov dword [esi + eax*4 + 0xc4a4], 6
mov edx, 6
mov dword [esi + edi*4], edx
mov dword [esi + eax*4 + 0xc4ac], edx
mov dword [esi + eax*4 + 0xc4b0], edx
mov eax, dword [esi + 0x554]
test eax, eax
je case.0x101c7277.3
test eax, 0xfffeffff
je case.0x101c7277.3
mov edx, dword [esi + 0x570]
push edx
push ecx
push 0x1009cb38
call fcn.101c3320
add esp, 0xc
add dword [esi + 0x14], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x40]
lea ecx, [eax*8]
sub ecx, eax
cmp byte [esi + ecx*4 + 0xc4b4], 0
lea ecx, [esi + ecx*4]
je 0x101cad93
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009c924
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x190]
push eax
mov dword [esp + 0x194], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc498]
cmp eax, edx
jae 0x101cadd4
mov ecx, dword [esi + 0x570]
push ecx
dec edx
push edx
push eax
push 0x1009c960
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x198]
push edx
mov dword [esp + 0x19c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xc49c]
cmp edx, eax
jb 0x101cade0
mov edx, eax
mov dword [esi + 0xc49c], edx
mov ebx, 1
mov byte [ecx + 0xc4b4], bl
mov byte [ecx + 0xc4b5], 0
mov byte [ecx + 0xc4b6], bl
mov edx, dword [esi + 0x554]
mov dword [ecx + 0xc4b8], edx
test dl, 3
je 0x101cae45
mov ecx, dword [esi + 0x570]
push ecx
push edx
push eax
push 0x1009cba0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x1a0]
push edx
mov dword [esp + 0x1a4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x558]
test edx, edx
je 0x101cae68
test edx, 0xfffeffff
je case.0x101c7277.3
mov ecx, dword [esi + 0x570]
push ecx
push eax
jmp 0x101cad2e
mov dword [ecx + 0xc4a0], ebx
lea ecx, [eax*8]
sub ecx, eax
add eax, 0x706
mov edx, 6
lea edi, [eax*8]
mov dword [esi + ecx*4 + 0xc4a4], edx
sub edi, eax
mov dword [esi + edi*4], edx
mov dword [esi + ecx*4 + 0xc4ac], edx
mov dword [esi + ecx*4 + 0xc4b0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x40]
lea eax, [edx + 0xc58]
shl eax, 4
add eax, esi
cmp byte [eax], 0
je 0x101caef1
mov ecx, dword [esi + 0x570]
push ecx
push edx
push 0x1009cc40
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x1a8]
push edx
mov dword [esp + 0x1ac], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x554]
test cl, 3
jne 0x101caf90
cmp ecx, edi
je 0x101caf90
mov byte [eax], 1
mov eax, edx
shl eax, 4
lea ecx, [eax + esi]
mov byte [ecx + 0xc588], 0
mov dword [ecx + 0xc58c], edi
mov eax, dword [esi + 0x554]
shr eax, 2
mov dword [ecx + 0xc584], eax
lea ecx, [eax*4]
cmp ecx, eax
jb 0x101caf5b
mov eax, dword [esi + 0x2c580]
add ecx, eax
cmp ecx, eax
jb 0x101caf5b
cmp ecx, 0x8000
ja 0x101caf5b
mov dword [esi + 0x2c580], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push edx
push 0x1009cd28
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x1b0]
push edx
mov dword [esp + 0x1b4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push ecx
push edx
push 0x1009cca0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x1b8]
push ecx
mov dword [esp + 0x1bc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x40]
lea eax, [edx + 0xc58]
shl eax, 4
add eax, esi
cmp byte [eax], 0
je 0x101cb00e
mov ecx, dword [esi + 0x570]
push ecx
push edx
push 0x1009cc40
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x1c0]
push edx
mov dword [esp + 0x1c4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ebx, 1
mov byte [eax], bl
mov eax, edx
shl eax, 4
add eax, esi
mov byte [eax + 0xc588], bl
mov ecx, dword [esi + 0x554]
mov dword [eax + 0xc58c], ecx
test cl, 3
jne 0x101cb0a5
cmp ecx, edi
je 0x101cb0a5
mov ecx, dword [esi + 0x558]
mov dword [eax + 0xc584], ecx
mov eax, dword [eax + 0xc58c]
imul eax, ecx
cmp eax, ecx
jb 0x101cb070
mov ecx, dword [esi + 0x2c580]
add eax, ecx
cmp eax, ecx
jb 0x101cb070
cmp eax, 0x8000
ja 0x101cb070
mov dword [esi + 0x2c580], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x570]
push ecx
push edx
push 0x1009cd28
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x1c8]
push edx
mov dword [esp + 0x1cc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
push eax
push ecx
push edx
push 0x1009cda0
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x1d0]
push ecx
mov dword [esp + 0x1d4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov byte [esi + 0x642], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x554]
lea eax, [esp + 0x3c]
mov ecx, esi
mov dword [esp + 0x3c], 0x11
mov dword [esp + 0x40], edx
call fcn.101c3510
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x558]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x554]
lea edi, [esi + 0x65c]
push edi
lea ebx, [esp + 0x40]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov byte [esp + 0x48], 0
call fcn.101d6e30
test eax, eax
je 0x101cb166
mov edx, dword [esi + 0x570]
mov eax, dword [esp + 0x3c]
push edx
push eax
push 0x1009ef18
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
jmp 0x101cb171
lea ecx, [esp + 0x3c]
mov edx, edi
call fcn.101d6ea0
xor edi, edi
cmp dword [esi + 0x558], edi
jbe case.0x101c7277.3
mov ebx, 0x11
jmp 0x101cb190
mov ecx, dword [esi + 0x55c]
mov edx, dword [ecx + edi*4]
lea eax, [esp + 0x3c]
mov ecx, esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
call fcn.101c3640
inc edi
cmp edi, dword [esi + 0x558]
jb 0x101cb190
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x24], edi
cmp dword [esi + 0x55c], edi
jbe 0x101cb255
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x560]
mov edi, dword [eax + ecx*4]
lea eax, [esi + 0x65c]
push eax
lea ebx, [esp + 0x40]
mov dword [esp + 0x40], edi
call fcn.101d6e30
test eax, eax
jne 0x101cb216
mov edx, dword [esi + 0x570]
push edx
push edi
push 0x1009ef60
call fcn.101c3320
add esp, 0xc
jmp 0x101cb23d
mov byte [eax + 8], 1
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x558]
cmp eax, ecx
je 0x101cb240
mov edx, dword [esi + 0x570]
push edx
push eax
push ecx
push 0x1009efb8
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x55c]
jb 0x101cb1cc
mov edx, dword [esi + 0xb288]
movzx ecx, word [esi + 0x554]
mov ebx, dword [edx + 8]
xor eax, eax
mov dword [esp + 0x24], ecx
test ebx, ebx
jbe 0x101cb32e
xor edi, edi
test ecx, ecx
je 0x101cb299
mov edx, dword [esi + 0xb294]
mov edx, dword [edi + edx]
cmp edx, ecx
ja 0x101cb312
inc eax
sub ecx, edx
add edi, 0x10
cmp eax, ebx
jb 0x101cb275
jmp 0x101cb32e
mov ecx, dword [esi + 0xb294]
shl eax, 4
add eax, ecx
mov ecx, dword [esi + 0x55c]
cmp dword [eax + 4], ecx
jne 0x101cb2ff
mov eax, dword [eax + 0xc]
add eax, dword [esi + 0xb288]
mov edi, dword [esi + 0x560]
add ecx, ecx
add ecx, ecx
cmp ecx, 4
jb 0x101cb2db
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x101cb2ff
sub ecx, 4
add edi, 4
add eax, 4
cmp ecx, 4
jae 0x101cb2c7
test ecx, ecx
je 0x101cb34a
mov dl, byte [edi]
cmp dl, byte [eax]
jne 0x101cb2ff
cmp ecx, 1
jbe 0x101cb34a
mov dl, byte [edi + 1]
cmp dl, byte [eax + 1]
jne 0x101cb2ff
cmp ecx, 2
jbe 0x101cb34a
mov cl, byte [edi + 2]
cmp cl, byte [eax + 2]
je 0x101cb34a
mov edx, dword [esi + 0x570]
mov eax, dword [esp + 0x24]
push edx
push eax
push 0x1009f020
jmp 0x101cb33f
mov ecx, dword [esi + 0x570]
mov edx, dword [esp + 0x24]
push ecx
push edx
push 0x1009f0a8
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
mov eax, dword [esi + 0x570]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push 0x1009f130
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
movzx ebx, word [esi + 0x556]
xor edi, edi
test ebx, ebx
jbe case.0x101c7277.3
jmp 0x101cb360
movzx eax, word [esi + 0x554]
add eax, edi
cmp eax, 0x100
jb 0x101cb38a
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009f1a0
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
jmp 0x101cb3d5
lea ecx, [eax + eax*2]
cmp byte [esi + ecx*4 + 0xa684], 0
lea ecx, [esi + ecx*4]
je 0x101cb3b4
mov edx, dword [esi + 0x570]
push edx
push eax
push 0x1009f1f8
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
jmp 0x101cb3d5
mov edx, ebx
mov byte [ecx + 0xa684], 1
sub edx, edi
mov dword [ecx + 0xa688], edx
mov ecx, dword [esi + 0x558]
lea eax, [eax + eax*2 + 0x29a3]
mov dword [esi + eax*4], ecx
inc edi
cmp edi, ebx
jb 0x101cb360
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x642], 0
jne 0x101cb663
mov eax, 1
mov dword [esp + 0x30], eax
cmp dword [esi + 0x574], edx
jne 0x101cb43f
cmp byte [esi + 0x2d104], 0
mov dword [esp + 0x30], edi
je 0x101cb410
mov dword [esp + 0x30], eax
cmp byte [esi + 0x2d105], 0
je 0x101cb41d
mov dword [esp + 0x30], edx
cmp byte [esi + 0x2d106], 0
je 0x101cb42e
mov dword [esp + 0x30], 3
cmp byte [esi + 0x2d107], 0
je 0x101cb43f
mov dword [esp + 0x30], 4
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
lea esp, [esp]
mov eax, dword [esi + 0xa680]
cmp byte [eax + ebx + 0x9924], 0
je 0x101cb646
mov ecx, dword [eax + ebx + 0x9928]
mov edx, dword [esp + 0x20]
cmp edx, ecx
jne 0x101cb483
mov ecx, dword [eax + ebx + 0x990c]
mov dword [eax + ebx + 0x9910], ecx
jmp 0x101cb496
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*4 + 0x9910]
mov eax, dword [eax + ebx + 0x990c]
and dword [ecx], eax
mov ecx, dword [esi + 0xa680]
cmp dword [ecx + ebx + 0x990c], 0
lea eax, [ecx + ebx]
jne 0x101cb4cd
push edx
mov edx, dword [eax + 0x992c]
mov eax, dword [eax + 0x9928]
push edx
push eax
push 0x1009ce58
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
jmp 0x101cb646
mov ecx, dword [esp + 0x30]
test ecx, ecx
jbe 0x101cb5b9
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
lea edi, [eax + 0x8f14]
mov dword [esp + 0x28], ecx
jmp 0x101cb4f0
mov eax, dword [esi + 0xa680]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + eax + 0x8f0c]
test cl, 0x10
je 0x101cb510
cmp dword [edx + eax + 0x8f10], 0
jne 0x101cb540
test cl, 0x20
je 0x101cb51f
cmp dword [edx + eax + 0x8f14], 0
jne 0x101cb540
test cl, 0x40
je 0x101cb52e
cmp dword [edx + eax + 0x8f18], 0
jne 0x101cb540
test cl, cl
jns 0x101cb5a0
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + eax + 0x8f1c], 0
je 0x101cb5a0
mov ecx, dword [edi + eax - 4]
add ecx, 0xfffffff5
xor dl, dl
cmp ecx, 0xb
ja 0x101cb550
mov dl, 1
mov ecx, dword [edi + eax]
add ecx, 0xfffffff5
cmp ecx, 0xb
ja 0x101cb55d
mov dl, 1
mov ecx, dword [edi + eax + 4]
add ecx, 0xfffffff5
cmp ecx, 0xb
ja 0x101cb56b
mov dl, 1
mov ecx, dword [edi + eax + 8]
add ecx, 0xfffffff5
cmp ecx, 0xb
jbe 0x101cb5a0
test dl, dl
jne 0x101cb5a0
mov edx, dword [eax + ebx + 0x992c]
mov eax, dword [eax + ebx + 0x9928]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push 0x1009ceb8
call fcn.101c3320
add esp, 0x10
inc dword [esi + 0x14]
add dword [esp + 0x2c], 0x280
add edi, 0x280
sub dword [esp + 0x28], 1
jne 0x101cb4f0
mov eax, dword [esi + 0xa680]
mov edx, dword [eax + ebx + 0x992c]
cmp dword [esp + 0x20], edx
jne 0x101cb646
mov ecx, dword [eax + ebx + 0x9928]
lea edi, [ecx + ecx*8]
cmp dword [eax + edi*4 + 0x9910], 0
jne 0x101cb5f6
push edx
push ecx
push 0x1009cf78
call fcn.101c3320
add esp, 0xc
inc dword [esi + 0x14]
mov edx, dword [esi + 0xa680]
mov eax, dword [edx + ebx + 0x9928]
inc eax
cmp eax, dword [esp + 0x20]
jae 0x101cb646
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*8]
add edx, edx
add edx, edx
sub edi, eax
jmp 0x101cb620
mov eax, dword [esi + 0xa680]
mov ecx, dword [eax + ebx + 0x9928]
lea ecx, [ecx + ecx*8]
mov ecx, dword [eax + ecx*4 + 0x9910]
mov dword [eax + edx + 0x9910], ecx
add edx, 0x24
sub edi, 1
jne 0x101cb620
mov eax, dword [esp + 0x24]
inc dword [esp + 0x20]
add eax, 0x14
add ebx, 0x24
mov dword [esp + 0x24], eax
cmp eax, 0x280
jb 0x101cb450
xor edi, edi
mov byte [esi + 0x642], 1
cmp dword [esi + 0x518], edi
jbe case.0x101c7277.3
jmp 0x101cb680
mov eax, edi
imul eax, eax, 0xd0
mov ecx, dword [eax + esi + 0x38]
cmp ecx, 0x27
ja case.0x101cb695.4
jmp dword [ecx*4 + 0x101cdb18]
mov edx, dword [esi + 0xa680]
mov ecx, dword [eax + esi + 0x40]
cmp ecx, dword [edx]
jb case.0x101cb695.4
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009d008
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x1d8]
push edx
mov dword [esp + 0x1dc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x574]
sub ecx, 2
mov byte [esp + 0x1f], 0
je 0x101cb76d
sub ecx, 1
je 0x101cb70d
xor ebx, ebx
jmp 0x101cb790
cmp dword [eax + esi + 0xf8], 0
jne 0x101cb787
mov edx, dword [eax + esi + 0x40]
cmp edx, dword [esi + 0x2c618]
jb 0x101cb787
mov ecx, dword [esi + 0x570]
mov edx, dword [esi + 0x2c618]
lea eax, [edi + 1]
imul edi, edi, 0xd0
push eax
mov eax, dword [edi + esi + 0x40]
push ecx
push edx
push eax
push 0x1009d0f0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x1e0]
push ecx
mov dword [esp + 0x1e4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [eax + esi + 0xf8], 0
jne 0x101cb787
mov ecx, dword [eax + esi + 0x40]
cmp ecx, dword [esi + 0x2c610]
jae 0x101ccb80
mov ebx, 1
mov byte [esp + 0x1f], bl
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
mov dword [esp + 0x20], ebx
je 0x101cb826
sub ecx, 1
je 0x101cb7cc
sub ecx, 1
jne 0x101cb82d
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
and edx, 0xf0
jmp 0x101cb82d
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x20]
and edx, 0xf0
jmp 0x101cb82d
mov edx, dword [eax + esi + 0xcc]
mov ecx, edi
imul ecx, ecx, 0x34
add ecx, ebx
mov ecx, dword [esi + ecx*4 + 0xf8]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x101cb86f
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x800c]
not ecx
test edx, ecx
jne 0x101ccbca
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
cmp ecx, 2
jne 0x101cb8aa
mov ecx, dword [esi + 0xa680]
cmp byte [ecx + 0x8028], 0
je 0x101ccc28
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jne 0x101cb8aa
mov ecx, dword [esi + 0xa680]
mov ecx, dword [ecx + 0x800c]
not ecx
test edx, ecx
jne 0x101ccc70
mov ecx, dword [esp + 0x2c]
cmp ecx, 3
jne case.0x101cb695.4
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
cmp byte [ebx + ecx*8 + 0x8028], 0
je 0x101cccba
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
cmp ecx, 3
jne case.0x101cb695.4
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x800c]
not ecx
test edx, ecx
je case.0x101cb695.4
cmp byte [esp + 0x1f], 0
mov ecx, 0x10098894
jne 0x101cb91a
mov ecx, 0x100820f3
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
push edx
push eax
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
add edi, esi
mov edi, dword [edi + edx*8 + 0x40]
mov edx, dword [esi + 0xa680]
lea eax, [edi + edi*4]
mov eax, dword [edx + eax*8 + 0x802c]
push eax
push ecx
push 0x1009d2a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x210]
push ecx
mov dword [esp + 0x214], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x574]
sub ecx, 3
je 0x101cb9f2
mov ebx, 1
sub ecx, ebx
jne 0x101cba15
cmp dword [eax + esi + 0xf8], ecx
jne 0x101cba11
mov edx, dword [eax + esi + 0x40]
cmp edx, dword [esi + 0x2ccb4]
jb 0x101cba11
mov eax, dword [esi + 0x570]
mov ecx, dword [esi + 0x2ccb4]
lea edx, [edi + 1]
imul edi, edi, 0xd0
push edx
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009d3e8
call fcn.101c3320
add dword [esi + 0x14], ebx
add esp, 0x14
push 0x101de948
lea eax, [esp + 0x218]
push eax
mov dword [esp + 0x21c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [eax + esi + 0xf8], 0
jne 0x101cba0c
mov ecx, dword [eax + esi + 0x40]
cmp ecx, dword [esi + 0x2c618]
jae 0x101ccd19
mov ebx, 1
mov dword [esp + 0x30], ebx
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cba93
sub ecx, ebx
je 0x101cba40
sub ecx, ebx
jne 0x101cba9a
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, ebx
shl edx, cl
and edx, 0xf0
jmp 0x101cba9a
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, ebx
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
jmp 0x101cba9a
mov edx, dword [eax + esi + 0xcc]
mov ebx, dword [esp + 0x30]
mov ecx, edi
imul ecx, ecx, 0x34
add ecx, ebx
mov ecx, dword [esi + ecx*4 + 0xf8]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x101cbadc
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x800c]
not ecx
test edx, ecx
jne 0x101ccd63
mov ecx, dword [esp + 0x28]
cmp ecx, 2
jne 0x101cbb08
mov ebx, dword [esi + 0xa680]
cmp byte [ebx + 0x8028], 0
je 0x101ccdaf
cmp ecx, ecx
jne 0x101cbb08
mov ebx, dword [ebx + 0x800c]
not ebx
test edx, ebx
jne 0x101ccde5
mov ebx, dword [esp + 0x30]
cmp ecx, 3
jne case.0x101cb695.4
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
cmp byte [ebx + ecx*8 + 0x8028], 0
je 0x101cce1d
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
cmp ecx, 3
jne case.0x101cb695.4
lea ecx, [ebx + ebx*4]
mov ebx, dword [esi + 0xa680]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx + esi + 0x40]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x800c]
not ecx
test edx, ecx
je case.0x101cb695.4
mov eax, dword [esp + 0x30]
mov edx, dword [esi + 0x570]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
push ecx
lea eax, [eax + eax*4]
push edx
add edi, esi
mov edi, dword [edi + eax*8 + 0x40]
lea ecx, [edi + edi*4]
mov edx, ebx
mov eax, dword [edx + ecx*8 + 0x802c]
push eax
push 0x1009d5a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x248]
push ecx
mov dword [esp + 0x24c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cbc51
sub ecx, 1
je 0x101cbbfb
sub ecx, 1
jne 0x101cbc58
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
and edx, 0xf0
jmp 0x101cbc58
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
jmp 0x101cbc58
mov edx, dword [eax + esi + 0xcc]
mov ecx, edi
imul ecx, ecx, 0xd0
mov ecx, dword [ecx + esi + 0xf8]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x101cbc91
mov ecx, dword [eax + esi + 0x40]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x850c]
not ecx
test edx, ecx
jne 0x101cce6a
mov ecx, dword [esp + 0x28]
cmp ecx, 2
jne 0x101cbcbd
mov ebx, dword [esi + 0xa680]
cmp byte [ebx + 0x8528], 0
je 0x101ccead
cmp ecx, ecx
jne 0x101cbcbd
mov ebx, dword [ebx + 0x850c]
not ebx
test edx, ebx
jne 0x101ccee3
cmp ecx, 3
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*4]
cmp byte [ebx + ecx*8 + 0x8528], 0
je 0x101ccf1b
mov ecx, dword [esp + 0x28]
cmp ecx, 3
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x850c]
not ecx
test edx, ecx
je case.0x101cb695.4
mov edx, dword [esi + 0x570]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
mov edi, dword [edi + esi + 0x40]
push ecx
push edx
lea eax, [edi + edi*4]
mov ecx, ebx
mov edx, dword [ecx + eax*8 + 0x852c]
push edx
push 0x1009d818
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x270]
push eax
mov dword [esp + 0x274], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [eax + esi + 0xf8], 0
jne 0x101cbd6f
mov edx, dword [eax + esi + 0x40]
cmp edx, dword [esi + 0x2c61c]
jae 0x101ccf5f
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cbdfd
sub ecx, 1
je 0x101cbda7
sub ecx, 1
jne 0x101cbe04
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
and edx, 0xf0
jmp 0x101cbe04
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
jmp 0x101cbe04
mov edx, dword [eax + esi + 0xcc]
mov ecx, edi
imul ecx, ecx, 0xd0
mov ecx, dword [ecx + esi + 0xfc]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x101cbe3d
mov ecx, dword [eax + esi + 0x68]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x8a0c]
not ecx
test edx, ecx
jne 0x101ccfa9
mov ecx, dword [esp + 0x28]
cmp ecx, 2
jne 0x101cbe69
mov ebx, dword [esi + 0xa680]
cmp byte [ebx + 0x8a28], 0
je 0x101ccfec
cmp ecx, ecx
jne 0x101cbe69
mov ebx, dword [ebx + 0x8a0c]
not ebx
test edx, ebx
jne 0x101cd022
cmp ecx, 3
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x68]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*4]
cmp byte [ebx + ecx*8 + 0x8a28], 0
je 0x101cd05a
mov ecx, dword [esp + 0x28]
cmp ecx, 3
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x68]
lea ecx, [ecx + ecx*4]
mov ecx, dword [ebx + ecx*8 + 0x8a0c]
not ecx
test edx, ecx
je case.0x101cb695.4
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edi, dword [edi + esi + 0x68]
push eax
push ecx
lea edx, [edi + edi*4]
mov eax, ebx
mov ecx, dword [eax + edx*8 + 0x8a2c]
push ecx
push 0x1009da78
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x2a0]
push edx
mov dword [esp + 0x2a4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cbf8f
sub ecx, 1
je 0x101cbf39
sub ecx, 1
jne 0x101cbf96
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
and edx, 0xf0
jmp 0x101cbf96
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
jmp 0x101cbf96
mov edx, dword [eax + esi + 0xcc]
cmp dword [eax + esi + 0xf8], 0
jne 0x101cbfbe
mov ecx, dword [eax + esi + 0x40]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*8]
mov ecx, dword [ebx + ecx*4 + 0x990c]
not ecx
test edx, ecx
jne 0x101cd09e
mov ecx, dword [eax + esi + 0xf8]
cmp ecx, 2
jne 0x101cbff1
mov ebx, dword [esi + 0xa680]
cmp byte [ebx + 0x9924], 0
je 0x101cd0e1
cmp ecx, ecx
jne 0x101cbff1
mov ebx, dword [ebx + 0x9910]
not ebx
test edx, ebx
jne 0x101cd117
cmp ecx, 3
jne 0x101cc013
mov ecx, dword [eax + esi + 0x40]
mov ebx, dword [esi + 0xa680]
add ecx, 0x441
lea ecx, [ecx + ecx*8]
cmp byte [ebx + ecx*4], 0
je 0x101cd14f
cmp dword [eax + esi + 0xf8], 3
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
mov ebx, dword [esi + 0xa680]
lea ecx, [ecx + ecx*8]
mov ecx, dword [ebx + ecx*4 + 0x9910]
not ecx
test edx, ecx
je case.0x101cb695.4
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edi, dword [edi + esi + 0x40]
push eax
push ecx
lea edx, [edi + edi*8]
mov eax, ebx
mov ecx, dword [eax + edx*4 + 0x9928]
push ecx
push 0x1009dce8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x2c8]
push edx
mov dword [esp + 0x2cc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [eax + esi + 0x40]
mov ecx, dword [esi + 0xa680]
mov ebx, dword [ecx + edx*8 + 8]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x101cd193
cmp dword [eax + esi + 0xfc], 0
jne 0x101cc0c2
mov edx, dword [eax + esi + 0x68]
cmp edx, dword [ecx + 0xc]
jae 0x101cd1d6
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cc154
sub ecx, 1
je 0x101cc0fa
sub ecx, 1
jne 0x101cc15b
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
and edx, 0xf0
jmp 0x101cc15b
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x28]
and edx, 0xf0
jmp 0x101cc15b
mov edx, dword [eax + esi + 0xcc]
not ebx
test edx, ebx
je case.0x101cb695.4
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009def0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x2e0]
push edx
mov dword [esp + 0x2e4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [eax + esi + 0xf8], 0
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
cmp byte [esi + ecx*8 + 0x2c588], 0
jne case.0x101cb695.4
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009df60
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x2e8]
push eax
mov dword [esp + 0x2ec], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [eax + esi + 0x40]
cmp byte [edx + esi + 0x2d104], 0
jne case.0x101cb695.4
mov edx, dword [esi + 0x570]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
mov eax, dword [edi + esi + 0x40]
push ecx
push edx
push eax
push 0x1009dfb8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x2f0]
push ecx
mov dword [esp + 0x2f4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp dword [eax + esi + 0xf8], 0
jne case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
add ecx, 0x4f6
lea ecx, [ecx + ecx*8]
cmp byte [esi + ecx*4], 0
jne case.0x101cb695.4
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009e010
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x2f8]
push edx
mov dword [esp + 0x2fc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xf8]
cmp ecx, 2
je case.0x101cb695.4
cmp ecx, 3
je case.0x101cb695.4
mov ecx, dword [eax + esi + 0x40]
cmp ecx, 0xf
jae 0x101cd22a
lea edx, [ecx + ecx*2]
cmp byte [esi + edx*4 + 0x58c], 0
lea edx, [esi + edx*4]
je 0x101cd26d
cmp dword [eax + esi + 0xfc], 0
jne 0x101cc333
cmp byte [edx + 0x58d], 0
je 0x101cc323
cmp dword [eax + esi + 0x68], 0x1000
jae 0x101cd2b0
mov ebx, dword [eax + esi + 0x68]
cmp ebx, dword [edx + 0x590]
jae 0x101cd2b0
mov edx, dword [eax + esi + 0xfc]
cmp edx, 2
je 0x101cc348
cmp edx, 3
jne case.0x101cb695.4
lea ecx, [ecx + ecx*2 + 0x165]
cmp dword [esi + ecx*4], 1
je case.0x101cb695.4
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009e1c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x318]
push edx
mov dword [esp + 0x31c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0fc], 0
je 0x101cd30a
cmp dword [eax + esi + 0xf8], 0
jne case.0x101cb695.4
mov edx, dword [eax + esi + 0x40]
cmp edx, dword [esi + 0x2d100]
jb case.0x101cb695.4
mov eax, dword [esi + 0x570]
mov ecx, dword [esi + 0x2d100]
lea edx, [edi + 1]
imul edi, edi, 0xd0
push edx
mov edx, dword [edi + esi + 0x40]
push eax
push 0x1000
push ecx
push edx
push 0x1009e2b0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea eax, [esp + 0x328]
push eax
mov dword [esp + 0x32c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x574]
sub ecx, 2
je 0x101cc441
sub ecx, 1
je 0x101cc433
sub ecx, 1
jne 0x101cc44f
mov cl, byte [esi + 0x2ccbf]
jmp 0x101cc447
mov ecx, dword [esi + 0xa680]
mov cl, byte [ecx + 0x9ff8]
jmp 0x101cc447
mov cl, byte [esi + 0x2d0e4]
test cl, cl
jne case.0x101cb695.4
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e328
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x330]
push edx
mov dword [esp + 0x334], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0e6], 0
jne case.0x101cb695.4
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e388
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x338]
push ecx
mov dword [esp + 0x33c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0e8], 0
je 0x101cd340
cmp dword [esi + 0x2d0ec], 0xc
je case.0x101cb695.4
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e448
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x348]
push edx
mov dword [esp + 0x34c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0e8], 0
je 0x101cd376
cmp dword [esi + 0x2d0ec], 0x26
je case.0x101cb695.4
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009e530
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x358]
push eax
mov dword [esp + 0x35c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0e8], 0
je 0x101cd3ac
cmp dword [esi + 0x2d0ec], 0x27
je case.0x101cb695.4
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e618
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x368]
push ecx
mov dword [esp + 0x36c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0f8], 0
jne case.0x101cb695.4
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009e6a0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x370]
push eax
mov dword [esp + 0x374], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esi + 0x2d0f9], 0
jne case.0x101cb695.4
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e700
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x378]
push edx
mov dword [esp + 0x37c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xa680]
cmp byte [edx + 0x9ffd], 0
jne case.0x101cb695.4
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e758
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x380]
push ecx
mov dword [esp + 0x384], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xa680]
cmp byte [ecx + 0x9ffa], 0
jne case.0x101cb695.4
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009e7c0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x388]
push eax
mov dword [esp + 0x38c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xa680]
cmp byte [edx + 0x9ffc], 0
jne case.0x101cb695.4
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e828
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x390]
push edx
mov dword [esp + 0x394], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cd3e2
sub ecx, 1
je 0x101cc747
sub ecx, 1
jne 0x101cc79b
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
jmp 0x101cc795
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
mov ecx, dword [esi + 0xa680]
mov ecx, dword [ecx + 0xa000]
not ecx
test edx, ecx
je case.0x101cb695.4
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e8f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x398]
push ecx
mov dword [esp + 0x39c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cd418
sub ecx, 1
je 0x101cc815
sub ecx, 1
jne 0x101cc869
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
jmp 0x101cc863
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
mov ecx, dword [esi + 0xa680]
mov ecx, dword [ecx + 0xa004]
not ecx
test edx, ecx
je case.0x101cb695.4
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e9d8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x3a8]
push edx
mov dword [esp + 0x3ac], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0xbc]
xor edx, edx
sub ecx, edx
je 0x101cd44e
sub ecx, 1
je 0x101cc8e3
sub ecx, 1
jne 0x101cc937
mov ecx, dword [eax + esi + 0xd0]
add ecx, 4
mov edx, 1
shl edx, cl
jmp 0x101cc931
movzx ecx, byte [eax + esi + 0xcf]
add ecx, 4
mov edx, 1
shl edx, cl
movzx ecx, byte [eax + esi + 0xce]
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcd]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
movzx ecx, byte [eax + esi + 0xcc]
or edx, ebx
add ecx, 4
mov ebx, 1
shl ebx, cl
or edx, ebx
and edx, 0xf0
mov ecx, dword [esi + 0xa680]
mov ecx, dword [ecx + 0xa008]
not ecx
test edx, ecx
je case.0x101cb695.4
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009eac0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x3b8]
push eax
mov dword [esp + 0x3bc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0xa680]
cmp byte [edx + 0xa00c], 0
jne case.0x101cb695.4
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009eb38
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x3c8]
push ecx
mov dword [esp + 0x3cc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0x40]
cmp ecx, 8
jae 0x101cc9ec
lea edx, [ecx*8]
sub edx, ecx
cmp byte [esi + edx*4 + 0xc4b4], 0
jne case.0x101cb695.4
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009eba8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x3d0]
push edx
mov dword [esp + 0x3d4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [eax + esi + 0x40]
cmp ecx, 0x2000
jae 0x101cd4da
lea edx, [ecx + 0xc58]
shl edx, 4
cmp byte [edx + esi], 0
je 0x101cd4da
cmp dword [eax + esi + 0xfc], 0
jne case.0x101cb695.4
mov edx, dword [eax + esi + 0x68]
shl ecx, 4
cmp edx, dword [ecx + esi + 0xc584]
jae 0x101cd484
mov ecx, dword [eax + esi + 0x104]
xor edx, edx
mov dword [esp + 0x34], ecx
test ecx, ecx
jle 0x101ccb6c
lea ecx, [eax + esi + 0xf8]
mov dword [esp + 0x24], ecx
lea eax, [eax + esi + 0x58]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
add ecx, 0xfffffffe
cmp ecx, 1
ja 0x101ccb59
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x101ccb49
cmp ecx, 3
jne 0x101ccb59
mov ebx, dword [esi + 0xa680]
mov ecx, dword [eax]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax - 0xc]
add ecx, 4
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x28]
and ebx, dword [ecx + 8]
test bl, 0xf0
je 0x101cd51d
mov ebx, dword [eax + 8]
cmp ebx, dword [ecx + 0xc]
jb 0x101ccb59
mov eax, edi
imul eax, eax, 0xd0
lea edx, [edx + edx*4]
add eax, esi
mov ecx, dword [eax + edx*8 + 0x58]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x570]
mov eax, dword [eax + 0x60]
push edx
mov edx, dword [esi + 0xa680]
mov edx, dword [edx + ecx*8 + 0xc]
inc edi
push edi
dec edx
push edx
push eax
push ecx
push 0x1009ee20
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea ecx, [esp + 0x3f0]
push ecx
mov dword [esp + 0x3f4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0xa680]
mov ebx, dword [eax]
cmp ebx, dword [ecx]
jae 0x101cd565
add dword [esp + 0x24], 4
inc edx
add eax, 0x28
cmp edx, dword [esp + 0x34]
jl 0x101cca94
inc edi
cmp edi, dword [esi + 0x518]
jb 0x101cb680
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x570]
mov ecx, dword [esi + 0x2c610]
lea edx, [edi + 1]
imul edi, edi, 0xd0
push edx
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009d060
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea eax, [esp + 0x1e8]
push eax
mov dword [esp + 0x1ec], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esp + 0x1f], 0
mov ecx, 0x10098894
jne 0x101ccbdb
mov ecx, 0x100820f3
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
push edx
push eax
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
add edi, esi
mov eax, dword [edi + edx*8 + 0x40]
push eax
push ecx
push 0x1009d180
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea ecx, [esp + 0x1f0]
push ecx
mov dword [esp + 0x1f4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esp + 0x1f], 0
mov eax, 0x10098894
jne 0x101ccc39
mov eax, 0x100820f3
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push eax
push 0x1009d200
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x1f8]
push eax
mov dword [esp + 0x1fc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esp + 0x1f], 0
mov eax, 0x10098894
jne 0x101ccc81
mov eax, 0x100820f3
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0
push eax
push 0x1009d2a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x200]
push edx
mov dword [esp + 0x204], 0x80004005
call sub.msvcrt.dll__CxxThrowException
cmp byte [esp + 0x1f], 0
mov ecx, 0x10098894
jne 0x101ccccb
mov ecx, 0x100820f3
mov eax, dword [esp + 0x20]
mov edx, edi
imul edx, edx, 0xd0
add edx, esi
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*8 + 0x40]
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push eax
push eax
push ecx
push 0x1009d340
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea eax, [esp + 0x208]
push eax
mov dword [esp + 0x20c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
mov eax, dword [esi + 0x2c618]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
push ecx
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009d3e8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x220]
push edx
mov dword [esp + 0x224], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
push eax
mov eax, dword [esp + 0x34]
lea edx, [eax + eax*4]
push ecx
add edi, esi
mov eax, dword [edi + edx*8 + 0x40]
push eax
push 0x1009d480
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x228]
push ecx
mov dword [esp + 0x22c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009d500
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x230]
push eax
mov dword [esp + 0x234], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0
push 0x1009d5a8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x238]
push edx
mov dword [esp + 0x23c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esp + 0x30]
mov edx, dword [esi + 0x570]
mov ecx, edi
imul ecx, ecx, 0xd0
inc edi
push edi
lea eax, [eax + eax*4]
add ecx, esi
mov eax, dword [ecx + eax*8 + 0x40]
push edx
push eax
push eax
push 0x1009d640
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea eax, [esp + 0x240]
push eax
mov dword [esp + 0x244], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009d6f0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x250]
push edx
mov dword [esp + 0x254], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009d770
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x258]
push ecx
mov dword [esp + 0x25c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0
push 0x1009d818
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x260]
push eax
mov dword [esp + 0x264], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
mov ecx, edi
imul ecx, ecx, 0xd0
mov eax, dword [ecx + esi + 0x40]
inc edi
push edi
push edx
push eax
push eax
push 0x1009d8b0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea eax, [esp + 0x268]
push eax
mov dword [esp + 0x26c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
mov eax, dword [esi + 0x2c61c]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
push ecx
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009d960
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x278]
push edx
mov dword [esp + 0x27c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edx, dword [edi + esi + 0x68]
push eax
push ecx
push edx
push 0x1009d9f8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x280]
push eax
mov dword [esp + 0x284], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009d200
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x288]
push edx
mov dword [esp + 0x28c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0
push 0x1009da78
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x290]
push ecx
mov dword [esp + 0x294], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
mov edx, edi
imul edx, edx, 0xd0
mov eax, dword [edx + esi + 0x68]
inc edi
push edi
push ecx
push eax
push eax
push 0x1009db18
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x298]
push edx
mov dword [esp + 0x29c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009dbc8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x2a8]
push eax
mov dword [esp + 0x2ac], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009dc40
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x2b0]
push edx
mov dword [esp + 0x2b4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0
push 0x1009dce8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x2b8]
push ecx
mov dword [esp + 0x2bc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
mov edx, edi
imul edx, edx, 0xd0
mov eax, dword [edx + esi + 0x40]
inc edi
push edi
push ecx
push eax
push eax
push 0x1009dd80
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x14
push 0x101de948
lea edx, [esp + 0x2c0]
push edx
mov dword [esp + 0x2c4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009de28
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x2d0]
push eax
mov dword [esp + 0x2d4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
mov ecx, edi
imul ecx, ecx, 0xd0
lea eax, [ecx + esi]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x68]
inc edi
push edi
push edx
mov edx, dword [esi + 0xa680]
mov edx, dword [edx + ecx*8 + 0xc]
push edx
push ecx
push eax
push 0x1009de88
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea ecx, [esp + 0x2d8]
push ecx
mov dword [esp + 0x2dc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
mov edx, dword [edi + esi + 0x40]
push eax
push ecx
push edx
push 0x1009e068
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea eax, [esp + 0x300]
push eax
mov dword [esp + 0x304], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
mov eax, dword [edi + esi + 0x40]
push ecx
push edx
push eax
push 0x1009e0b8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x308]
push ecx
mov dword [esp + 0x30c], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, edi
imul edx, edx, 0xd0
mov eax, dword [edx + esi + 0x40]
lea ecx, [edx + esi]
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
lea edx, [eax + eax*2]
mov edx, dword [esi + edx*4 + 0x590]
push 0x1000
push edx
push eax
mov eax, dword [ecx + 0x68]
push eax
push 0x1009e118
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x1c
push 0x101de948
lea ecx, [esp + 0x310]
push ecx
mov dword [esp + 0x314], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e248
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x320]
push ecx
mov dword [esp + 0x324], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009e3e8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x340]
push eax
mov dword [esp + 0x344], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e4d0
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x350]
push ecx
mov dword [esp + 0x354], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009e5b8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x360]
push edx
mov dword [esp + 0x364], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
inc edi
push edi
push edx
push 0x1009e890
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea eax, [esp + 0x3a0]
push eax
mov dword [esp + 0x3a4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
inc edi
push edi
push eax
push 0x1009e968
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea ecx, [esp + 0x3b0]
push ecx
mov dword [esp + 0x3b4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
inc edi
push edi
push ecx
push 0x1009ea50
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0xc
push 0x101de948
lea edx, [esp + 0x3c0]
push edx
mov dword [esp + 0x3c4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov edx, dword [esi + 0x570]
mov eax, edi
imul eax, eax, 0xd0
mov ecx, dword [eax + esi + 0x40]
add eax, esi
mov eax, dword [eax + 0x68]
inc edi
push edi
push edx
mov edx, ecx
shl edx, 4
mov edx, dword [edx + esi + 0xc584]
push edx
push ecx
push eax
push 0x1009ec70
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea ecx, [esp + 0x3d8]
push ecx
mov dword [esp + 0x3dc], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
lea edx, [edi + 1]
imul edi, edi, 0xd0
mov ecx, dword [edi + esi + 0x40]
push edx
push eax
push ecx
push 0x1009ec00
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea edx, [esp + 0x3e0]
push edx
mov dword [esp + 0x3e4], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov ecx, dword [esi + 0x570]
lea eax, [edi + 1]
imul edi, edi, 0xd0
push eax
lea edx, [edx + edx*4]
push ecx
add edi, esi
mov eax, dword [edi + edx*8 + 0x58]
push eax
push 0x1009ed90
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x10
push 0x101de948
lea ecx, [esp + 0x3e8]
push ecx
mov dword [esp + 0x3ec], 0x80004005
call sub.msvcrt.dll__CxxThrowException
mov eax, dword [esi + 0x570]
lea ecx, [edi + 1]
imul edi, edi, 0xd0
push eax
mov eax, dword [esi + 0xa680]
push ecx
mov ecx, dword [eax]
dec ecx
push ecx
lea eax, [edx + edx*4]
add edi, esi
mov ecx, dword [edi + eax*8 + 0x58]
push ecx
inc edx
push edx
push 0x1009ecd8
call fcn.101c3320
inc dword [esi + 0x14]
add esp, 0x18
push 0x101de948
lea edx, [esp + 0x4c]
push edx
mov dword [esp + 0x50], 0x80004005
call sub.msvcrt.dll__CxxThrowException
nop
pop esp
mov al, byte [1808076828]
sbb al, 0x10
ret 0x1c6e