Function at 0x10014b40
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100344a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x4744
call fcn.10023370
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0x52d9b
mov dword [ebp - 0x4fc], 0x96396ea5
mov dword [ebp - 0x4f8], eax
mov cl, byte [0x100431a8]
mov byte [ebp - 0x12], cl
movsx dx, byte [0x1004310e]
mov word [ebp - 0x30], dx
mov al, byte [0x10043032]
mov byte [ebp - 0x22], al
mov ecx, dword [0x100431b0]
mov edx, dword [0x100431b4]
mov dword [ebp - 0x53c], edx
mov word [ebp - 0x28], cx
mov eax, dword [0x10043118]
mov dword [ebp - 0x80], eax
mov cl, byte [0x10043138]
mov byte [ebp - 0x39], cl
xor edx, edx
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x44], edx
movsx ax, byte [0x10043093]
mov word [ebp - 0x40], ax
mov cx, word [0x10043120]
mov word [ebp - 0x20], cx
mov edx, 0xa5
mov word [ebp - 0x1c], dx
mov eax, 0xffffb7cb
mov word [ebp - 0x38], ax
mov cl, byte [0x1004318c]
mov byte [ebp - 0x21], cl
mov edx, dword [0x10043150]
mov eax, dword [0x10043154]
mov dword [ebp - 0x4bc], eax
mov word [ebp - 0x34], dx
movsx eax, word [0x10043180]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, 0x7536
mov word [ebp - 0x50], cx
xor edx, edx
mov dword [ebp - 0x68], 0x7edf
mov dword [ebp - 0x64], edx
mov byte [ebp - 0x11], 0xe4
mov dword [ebp - 0x78], 0x28
movsx eax, word [0x10043180]
cdq
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
mov eax, dword [0x10043140]
mov ecx, dword [0x10043144]
mov dword [ebp - 0x4c0], ecx
mov word [ebp - 0x4c], ax
mov edx, dword [0x10043164]
mov dword [ebp - 0x84], edx
xor eax, eax
mov dword [ebp - 0x60], 0x24129b8a
mov dword [ebp - 0x5c], eax
movzx ecx, byte [0x1004305a]
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 0x29], 0x3a
mov edx, 0x978f
mov word [ebp - 0x18], dx
mov dword [ebp - 0x4c4], 0xd8741b15
mov byte [ebp - 0x141], 0xd9
mov eax, 0xf224
mov word [ebp - 0x364], ax
mov ecx, 0x23d2
mov word [ebp - 0x368], cx
mov edx, dword [0x10043188]
mov dword [ebp - 0x4c8], edx
mov eax, dword [0x10043174]
mov byte [ebp - 0x142], al
mov byte [ebp - 0x182], 0x81
mov ecx, 0x848e
mov word [ebp - 0x36c], cx
mov byte [ebp - 0x143], 0x7e
mov edx, 0xbf
mov word [ebp - 0x370], dx
xor eax, eax
mov dword [ebp - 0x504], 0xa22c
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4cc], 0x20
xor ecx, ecx
mov dword [ebp - 0x50c], 0xf42
mov dword [ebp - 0x508], ecx
mov byte [ebp - 0x144], 0x25
mov edx, dword [0x10043174]
xor eax, eax
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x4d0], 0xeb3
mov cx, word [0x10043180]
mov byte [ebp - 0x145], cl
xor edx, edx
mov dword [ebp - 0x51c], 0xbeed
mov dword [ebp - 0x518], edx
mov eax, 0xf6
mov word [ebp - 0x374], ax
mov byte [ebp - 0x146], 0x81
mov dword [ebp - 0x4d8], 0xbd
mov ecx, 0x80
mov word [ebp - 0x378], cx
xor edx, edx
mov dword [ebp - 0x524], 0x28f8cd07
mov dword [ebp - 0x520], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x3a0], esi
mov eax, dword [ebp - 0x398]
cmp eax, dword [ebp - 0x3a0]
jg 0x10014e81
jl 0x10014df8
mov ecx, dword [ebp - 0x39c]
cmp ecx, dword [ebp - 0x3a4]
jae 0x10014e81
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push 0x24f71
push 0xae6c5814
push eax
push edx
call fcn.10023240
movzx ecx, byte [ebp - 0x22]
or ecx, dword [0x10043174]
movsx esi, byte [0x10043093]
sub ecx, esi
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.10023240
mov byte [0x10043093], al
xor edx, edx
mov dword [ebp - 0x8c], 0x8ca5285b
mov dword [ebp - 0x88], edx
jmp 0x10014e71
mov dword [ebp - 4], 0xffffffff
jmp 0x10014e81
mov dword [ebp - 4], 2
mov dword [ebp - 0x150], 0x42
jmp 0x10014ea3
mov edx, dword [ebp - 0x150]
sub edx, 1
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0
jle 0x10014ec9
movzx eax, word [ebp - 0x30]
add eax, 0x9b0a
mov byte [ebp - 0x12], al
mov cl, byte [0x1004310f]
add cl, 1
mov byte [0x1004310f], cl
jmp 0x10014e94
jmp 0x10014ee5
mov dword [ebp - 4], 0xffffffff
jmp 0x10014ef5
push 0
push 0x5f
push 0
push 0xdf
mov ecx, dword [ebp - 0x7c]
xor edx, edx
push edx
push ecx
push 0
push 0x47
mov eax, dword [0x10043148]
xor ecx, ecx
push ecx
push eax
push 0
push 0
push 0
push 0
call fcn.1001c700
mov dword [0x10043140], eax
mov dword [0x10043144], edx
mov edx, dword [0x10043140]
mov eax, dword [0x10043144]
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3ac]
or ecx, dword [ebp - 0x3a8]
jne 0x10014fe4
movzx edx, byte [0x1004300b]
not edx
movzx eax, word [ebp - 0x30]
cmp edx, eax
jge 0x10014fbe
movzx eax, word [ebp - 0x30]
movsx ecx, word [ebp - 0x40]
add eax, ecx
not eax
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x10043160]
xor eax, eax
mov edi, dword [0x10043178]
mov ebx, dword [0x1004317c]
not edi
not ebx
or edx, edi
or eax, ebx
sub ecx, edx
sbb esi, eax
not ecx
not esi
movzx eax, byte [ebp - 0x39]
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x10043128], ecx
mov dword [0x1004312c], esi
mov ecx, dword [0x10043cbc]
mov dword [0x100431d4], ecx
jmp 0x10014fe4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x4dc], eax
mov ecx, 1
imul eax, ecx, 0x467b
mov byte [eax + 0x100ddd48], dl
mov ecx, 0xee
mov word [ebp - 0x30], cx
movsx edx, word [ebp - 0x20]
movzx eax, word [0x1004315c]
sub edx, eax
movsx ecx, word [ebp - 0x20]
add ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [0x10043140]
mov edx, dword [0x10043144]
mov cl, 3
call fcn.10023350
mov byte [ebp - 0x22], al
mov dword [ebp - 0x7c], 4
movzx edx, word [0x10043198]
imul edx, dword [0x10043138]
mov word [0x10043198], dx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 6
call fcn.100232a0
mov dword [0x100431a8], eax
mov dword [0x100431ac], edx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 4
ja case.default.0x10015060
mov ecx, dword [ebp - 0x220]
jmp dword [ecx*4 + 0x10017b5c]
push 0
push 0xf52f
mov edx, dword [0x1004311c]
push edx
mov eax, dword [0x10043118]
push eax
call fcn.10023240
mov word [0x1004315c], ax
jmp case.default.0x10015060
movzx ecx, word [0x10043170]
mov edx, dword [0x10043188]
imul edx, ecx
mov eax, dword [0x10043188]
sub eax, edx
mov dword [0x10043188], eax
movzx ecx, word [ebp - 0x34]
sar ecx, 4
mov word [ebp - 0x20], cx
jmp case.default.0x10015060
mov edx, dword [0x10043160]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp case.default.0x10015060
mov ecx, 0xffffe98c
mov word [ebp - 0x1c], cx
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push esi
push ecx
push edx
push eax
call fcn.10023240
mov byte [ebp - 0x12], al
jmp case.default.0x10015060
movsx edx, word [0x100431b8]
imul edx, dword [0x10043164]
mov word [0x100431b8], dx
mov byte [ebp - 0x11], 0
movsx eax, word [0x10043180]
add eax, 0xb94b
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
or ecx, eax
or esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov dl, byte [ebp - 0x11]
mov byte [ebp - 0x37c], dl
cmp byte [ebp - 0x37c], 0
je 0x1001512d
jmp 0x1001514c
movzx eax, byte [0x1004300a]
add eax, 0x6db0c4c5
mov dword [0x10043160], eax
mov ecx, dword [0x10043cbc]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
xor eax, eax
mov byte [ebp - 0x69], al
lea ecx, [ebp - 0x5a6]
push ecx
lea ecx, [ebp - 0x69]
call fcn.10002ac0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], 0
jmp 0x10015181
mov edx, dword [ebp - 0xbc]
add edx, 1
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 0xe
jae 0x100151e3
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xc0]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x184], cx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x384]
mov dx, word [ebp - 0x184]
mov word [ecx], dx
jmp 0x10015172
mov eax, 0xe
shl eax, 1
mov ecx, dword [ebp - 0xc0]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x388], edx
xor eax, eax
mov ecx, dword [ebp - 0x388]
mov word [ecx], ax
mov edx, dword [ebp - 0xc0]
add edx, 2
mov dword [ebp - 0x38c], edx
push 0x410
lea eax, [ebp - 0xb18]
push eax
mov ecx, dword [ebp - 0x38c]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov byte [ebp - 0x6a], dl
lea eax, [ebp - 0x68c]
push eax
lea ecx, [ebp - 0x6a]
call fcn.10003050
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x10c], 0
jmp 0x10015267
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0x17
jae 0x100152c9
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x390]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x90]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x186], ax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x394]
mov cx, word [ebp - 0x186]
mov word [eax], cx
jmp 0x10015258
mov edx, 0x17
shl edx, 1
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x468], ecx
xor edx, edx
mov eax, dword [ebp - 0x468]
mov word [eax], dx
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov dword [ebp - 0x46c], ecx
push 0x410
lea edx, [ebp - 0xf28]
push edx
mov eax, dword [ebp - 0x46c]
push eax
push 0
push 0
call fcn.10001320
call eax
xor ecx, ecx
mov byte [ebp - 0x6b], cl
lea edx, [ebp - 0x65a]
push edx
lea ecx, [ebp - 0x6b]
call fcn.10003780
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jmp 0x1001534d
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x16
jae 0x100153af
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x470]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x98]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x188], dx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
mov ax, word [ebp - 0x188]
mov word [edx], ax
jmp 0x1001533e
mov ecx, 0x16
shl ecx, 1
mov edx, dword [ebp - 0x98]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x268], eax
xor ecx, ecx
mov edx, dword [ebp - 0x268]
mov word [edx], cx
mov eax, dword [ebp - 0x98]
add eax, 2
mov dword [ebp - 0x26c], eax
push 0x410
lea ecx, [ebp - 0x1338]
push ecx
mov edx, dword [ebp - 0x26c]
push edx
push 0
push 0
call fcn.10001320
call eax
xor eax, eax
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x5d2]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.10003b40
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0
jmp 0x10015433
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x14
jae 0x10015495
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x270]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x104]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x18a], cx
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
mov dx, word [ebp - 0x18a]
mov word [ecx], dx
jmp 0x10015424
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0x104]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x278], edx
xor eax, eax
mov ecx, dword [ebp - 0x278]
mov word [ecx], ax
mov edx, dword [ebp - 0x104]
add edx, 2
mov dword [ebp - 0x27c], edx
push 0x410
lea eax, [ebp - 0x1748]
push eax
mov ecx, dword [ebp - 0x27c]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov byte [ebp - 0x6d], dl
lea eax, [ebp - 0x56e]
push eax
lea ecx, [ebp - 0x6d]
call fcn.10003ee0
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0
jmp 0x10015519
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x100], 0xa
jae 0x1001557b
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xfc]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x18c], ax
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x284]
mov cx, word [ebp - 0x18c]
mov word [eax], cx
jmp 0x1001550a
mov edx, 0xa
shl edx, 1
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x288], ecx
xor edx, edx
mov eax, dword [ebp - 0x288]
mov word [eax], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 2
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x28c]
push edx
lea eax, [ebp - 0xb18]
push eax
push 0
push 0
call fcn.100012f0
call eax
lea ecx, [ebp - 0xf28]
push ecx
lea edx, [ebp - 0xb18]
push edx
push 0
push 0
call fcn.100012f0
call eax
xor eax, eax
mov byte [ebp - 0x6e], al
lea ecx, [ebp - 0x556]
push ecx
lea ecx, [ebp - 0x6e]
call fcn.10003f90
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa4], 0
jmp 0x10015613
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 7
jae 0x10015675
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x290]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x18e], cx
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov dx, word [ebp - 0x18e]
mov word [ecx], dx
jmp 0x10015604
mov eax, 7
shl eax, 1
mov ecx, dword [ebp - 0xb8]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x298], edx
xor eax, eax
mov ecx, dword [ebp - 0x298]
mov word [ecx], ax
mov edx, dword [ebp - 0xb8]
add edx, 2
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x274c]
push ecx
push 0
push 0
call fcn.10001410
call eax
lea edx, [ebp - 0x1338]
push edx
lea eax, [ebp - 0x274c]
push eax
push 0
push 0
call fcn.100012f0
call eax
xor ecx, ecx
mov byte [ebp - 0x6f], cl
lea edx, [ebp - 0x586]
push edx
lea ecx, [ebp - 0x6f]
call fcn.100041e0
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb0], 0
jmp 0x1001570d
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0xa
jae 0x1001576f
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xac]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x190], dx
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x2a4]
mov ax, word [ebp - 0x190]
mov word [edx], ax
jmp 0x100156fe
mov ecx, 0xa
shl ecx, 1
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x2a8], eax
xor ecx, ecx
mov edx, dword [ebp - 0x2a8]
mov word [edx], cx
mov eax, dword [ebp - 0xac]
add eax, 2
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2ac]
push ecx
lea edx, [ebp - 0x274c]
push edx
push 0
push 0
call fcn.100012f0
call eax
lea eax, [ebp - 0x1748]
push eax
lea ecx, [ebp - 0x274c]
push ecx
push 0
push 0
call fcn.100012f0
call eax
mov edx, dword [0x100431c0]
or edx, dword [0x100431c4]
je 0x1001584b
mov dword [ebp - 0x154], 0
jmp 0x100157fb
mov eax, dword [ebp - 0x154]
add eax, 2
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0xcd
jge 0x10015849
mov ecx, dword [0x10043160]
xor edx, edx
push 0x53ebe
push 0x113692f2
push edx
push ecx
call fcn.10023240
mov word [0x100431b8], ax
movsx eax, byte [0x1004310e]
add eax, 0x2a
mov byte [0x1004305a], al
mov cx, word [0x100431b8]
add cx, 1
mov word [0x100431b8], cx
jmp 0x100157ec
jmp 0x1001589a
movsx edx, word [ebp - 0x4c]
test edx, edx
je 0x1001587d
mov eax, dword [0x10043168]
mov ecx, dword [0x1004316c]
mov dword [ebp - 0x4e0], ecx
sub eax, 0x75ca140
mov word [ebp - 0x4c], ax
movzx edx, byte [ebp - 0x29]
add edx, 0xc3
mov word [ebp - 0x34], dx
jmp 0x1001589a
cmp dword [0x10043188], 0
je 0x1001589a
movzx eax, word [ebp - 0x18]
movsx ecx, word [ebp - 0x28]
xor eax, ecx
movzx edx, word [ebp - 0x18]
add edx, eax
mov word [ebp - 0x18], dx
push 0
lea eax, [ebp - 0xb18]
push eax
push 0
push 0
call fcn.10001560
call eax
test eax, eax
je 0x10016f4e
push 0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x4e4], edx
movzx eax, cx
push eax
call fcn.1001d4f0
mov word [0x10043180], ax
movsx ecx, word [0x10043180]
test ecx, ecx
je 0x10015967
cmp dword [ebp - 0x80], 0
je 0x10015965
movsx edx, word [ebp - 0x38]
mov eax, dword [0x10043188]
not eax
sub edx, eax
jne 0x10015903
mov dword [ebp - 0x224], 1
jmp 0x1001590d
mov dword [ebp - 0x224], 0
movzx ecx, word [0x10043170]
movsx edx, word [ebp - 0x38]
imul ecx, edx
mov eax, dword [ebp - 0x224]
sub eax, ecx
mov dword [0x1004318c], eax
cmp dword [0x10043188], 0
je 0x10015945
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x258], edx
jmp 0x1001595c
mov eax, dword [0x10043140]
mov ecx, dword [0x10043144]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x25c]
mov dword [ebp - 0x7c], edx
jmp 0x100159ac
movsx eax, word [0x10043184]
test eax, eax
je 0x10015994
movzx eax, byte [0x1004305a]
cdq
add eax, 0x30911bf9
mov word [ebp - 0x38], ax
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x100431c0]
mov word [ebp - 0x20], ax
jmp 0x100159ac
movsx ecx, word [ebp - 0x40]
test ecx, ecx
je 0x100159ac
movsx edx, word [ebp - 0x40]
not edx
xor edx, 0x9ed1132a
mov word [ebp - 0x1c], dx
push 0
push 0x98
push 0
call fcn.1001cea0
mov word [0x10043170], ax
mov eax, dword [0x10043150]
mov ecx, dword [0x10043154]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b4]
or edx, dword [ebp - 0x3b0]
jne 0x100159fa
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x100159fa
xorps xmm0, xmm0
movlpd qword [ebp - 0x24c], xmm0
jmp 0x10015a0c
xor ecx, ecx
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x8c]
not edx
mov eax, dword [ebp - 0x88]
not eax
mov dword [ebp - 0x3bc], edx
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x248]
cmp ecx, dword [ebp - 0x3b8]
jb 0x10015adf
ja 0x10015a4e
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x3bc]
jbe 0x10015adf
mov dword [ebp - 4], 4
mov eax, dword [0x10043128]
mov ecx, dword [0x1004312c]
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3c4]
or edx, dword [ebp - 0x3c0]
je 0x10015a87
mov eax, dword [0x10043174]
mov dword [ebp - 0x234], eax
jmp 0x10015a94
movzx ecx, word [0x10043158]
mov dword [ebp - 0x234], ecx
mov dl, byte [ebp - 0x234]
mov byte [ebp - 0x39], dl
movsx eax, word [ebp - 0x1c]
sub eax, 0xd3
mov byte [ebp - 0x21], al
jmp 0x10015acf
mov dword [ebp - 4], 0xffffffff
jmp 0x10015adf
mov eax, dword [0x10043cbc]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
add ecx, 0x402
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x158]
add edx, 0x2ea
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
movzx eax, byte [ebp - 0x29]
cdq
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x3d0], edx
mov edx, dword [ebp - 0x3cc]
cmp edx, dword [ebp - 0x3d4]
jne 0x10015b59
mov eax, dword [ebp - 0x3c8]
cmp eax, dword [ebp - 0x3d0]
jne 0x10015b59
mov dword [ebp - 0x238], 1
jmp 0x10015b63
mov dword [ebp - 0x238], 0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x3dc], ecx
mov dword [ebp - 0x3d8], edx
cmp dword [ebp - 0x3dc], 0x18
jne 0x10015b93
cmp dword [ebp - 0x3d8], 0
jne 0x10015b93
mov dword [ebp - 0x23c], 1
jmp 0x10015b9d
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x23c]
jle 0x10015cf8
push 0
push 0x45
push 0
push 0
push 0
push 0
push 0
push 0xa8
push 0
push 0x66
call fcn.1001c030
mov dword [0x10043148], eax
cmp dword [0x10043148], 0
jb 0x10015be5
mov dword [ebp - 0x198], 1
jmp 0x10015bef
mov dword [ebp - 0x198], 0
cmp dword [0x10043148], 0x18
jb 0x10015c04
mov dword [ebp - 0x19c], 1
jmp 0x10015c0e
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [ebp - 0x19c]
jl 0x10015c8d
mov dword [ebp - 0x140], 0
jmp 0x10015c37
mov edx, dword [ebp - 0x140]
add edx, 2
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0x161
jge 0x10015c8b
movsx eax, byte [0x10043112]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push esi
push ecx
push edx
push eax
call fcn.10023240
mov edx, dword [0x100431c8]
mov ecx, dword [0x100431cc]
mov dword [ebp - 0x4f0], ecx
mov ecx, dword [0x100431a8]
sub ecx, edx
add eax, ecx
mov word [ebp - 0x40], ax
mov edx, dword [0x10043164]
add edx, 1
mov dword [0x10043164], edx
jmp 0x10015c28
jmp 0x10015cf8
movsx eax, byte [ebp - 0x12]
not eax
test eax, eax
je 0x10015cbd
mov ecx, dword [0x10043168]
mov edx, dword [0x1004316c]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e4]
or eax, dword [ebp - 0x3e0]
jne 0x10015cf8
mov eax, dword [0x100431d0]
cdq
push edx
push eax
mov ecx, dword [0x100431c4]
push ecx
mov edx, dword [0x100431c0]
push edx
call fcn.10023240
add eax, dword [0x100431c0]
adc edx, dword [0x100431c4]
mov dword [0x100431c0], eax
mov dword [0x100431c4], edx
mov eax, 0x7e14
mov word [ebp - 0x34], ax
mov ecx, dword [ebp - 0x158]
add ecx, 0x3bc
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0x60]
sbb eax, ecx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x1a0]
sub eax, dword [ebp - 0x1a0]
sub eax, dword [ebp - 0x15c]
cmp edx, eax
je 0x10016f49
movzx ecx, word [ebp - 0x30]
not ecx
test ecx, ecx
je 0x10015dd9
movzx edx, byte [0x1004305b]
test edx, edx
je 0x10015d93
mov eax, dword [0x10043160]
xor ecx, ecx
push 0x74a9
push 0x56469195
push ecx
push eax
call fcn.10023240
mov word [0x100431b8], ax
movsx edx, word [0x100431b8]
imul eax, edx, 0xdc
movzx ecx, byte [ebp - 0x11]
sub ecx, eax
mov byte [ebp - 0x11], cl
jmp 0x10015dd9
movzx edx, word [ebp - 0x34]
movsx eax, word [ebp - 0x1c]
cmp edx, eax
jle 0x10015dab
mov dword [ebp - 0x1a4], 1
jmp 0x10015db5
mov dword [ebp - 0x1a4], 0
movzx ecx, word [ebp - 0x50]
not ecx
cmp dword [ebp - 0x1a4], ecx
je 0x10015dcf
mov dword [ebp - 0x1a8], 1
jmp 0x10015dd9
mov dword [ebp - 0x1a8], 0
xor eax, eax
mov byte [ebp - 0x147], al
mov byte [ebp - 0x116], 0x7d
xor ecx, ecx
mov byte [ebp - 0x115], cl
mov edx, 0x39
mov word [ebp - 0x114], dx
mov eax, 0x1c
mov word [ebp - 0x112], ax
mov ecx, 0x19
mov word [ebp - 0x110], cx
xor edx, edx
mov word [ebp - 0x10e], dx
mov dword [ebp - 0xa0], 0
jmp 0x10015e38
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 3
jae 0x10015e92
mov ecx, dword [ebp - 0xa0]
lea edx, [ebp + ecx*2 - 0x114]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x2b0]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x116]
xor ecx, edx
mov word [ebp - 0x192], cx
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp + eax*2 - 0x114]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b4]
mov ax, word [ebp - 0x192]
mov word [edx], ax
jmp 0x10015e29
mov ecx, 3
shl ecx, 1
lea edx, [ebp + ecx - 0x114]
mov dword [ebp - 0x2b8], edx
xor eax, eax
mov ecx, dword [ebp - 0x2b8]
mov word [ecx], ax
lea edx, [ebp - 0x114]
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0xb18]
push ecx
push 0
push 0
call fcn.100012f0
call eax
xor edx, edx
mov byte [ebp - 0x148], dl
mov byte [ebp - 0x180], 0x11
xor eax, eax
mov byte [ebp - 0x17f], al
mov ecx, 0x3f
mov word [ebp - 0x17e], cx
mov edx, 0x75
mov word [ebp - 0x17c], dx
mov eax, 0x7d
mov word [ebp - 0x17a], ax
mov ecx, 0x7d
mov word [ebp - 0x178], cx
xor edx, edx
mov word [ebp - 0x176], dx
mov dword [ebp - 0x9c], 0
jmp 0x10015f41
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 4
jae 0x10015f9b
mov ecx, dword [ebp - 0x9c]
lea edx, [ebp + ecx*2 - 0x17e]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x180]
xor ecx, edx
mov word [ebp - 0x12c], cx
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp + eax*2 - 0x17e]
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2c4]
mov ax, word [ebp - 0x12c]
mov word [edx], ax
jmp 0x10015f32
mov ecx, 4
shl ecx, 1
lea edx, [ebp + ecx - 0x17e]
mov dword [ebp - 0x2c8], edx
xor eax, eax
mov ecx, dword [ebp - 0x2c8]
mov word [ecx], ax
lea edx, [ebp - 0x17e]
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0xb18]
push ecx
push 0
push 0
call fcn.100012f0
call eax
mov dword [ebp - 0x160], 0x216
jmp 0x10015ffa
mov edx, dword [ebp - 0x160]
sub edx, 1
mov dword [ebp - 0x160], edx
cmp dword [ebp - 0x160], 0
jle 0x10016041
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4f4], ecx
add eax, 0xf9a1b5af
mov byte [ebp - 0x11], al
movzx eax, word [ebp - 0x50]
cdq
sub eax, dword [0x100431a8]
sbb edx, dword [0x100431ac]
mov dword [0x10043168], eax
mov dword [0x1004316c], edx
mov dx, word [ebp - 0x38]
add dx, 1
mov word [ebp - 0x38], dx
jmp 0x10015feb
lea eax, [ebp - 0xb18]
push eax
mov ecx, dword [0x10382278]
push ecx
call fcn.10019a40
test eax, eax
je 0x1001686c
jmp 0x1001607c
jmp 0x10016092
jmp 0x100160a3
jmp 0x100160c8
mov dx, word [0x10043cbc]
mov word [0x10043158], dx
mov eax, dword [0x10043cbc]
mov dword [ebp - 0x164], eax
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x530], eax
sub ecx, edx
movsx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
movsx eax, word [ebp - 0x1c]
sub eax, dword [ebp - 0x80]
movsx ecx, word [ebp - 0x20]
add eax, ecx
cdq
mov ecx, dword [0x100431a0]
mov esi, dword [0x100431a4]
push edx
push eax
push esi
push ecx
call fcn.10023240
mov word [ebp - 0x34], ax
mov edx, dword [ebp - 0x164]
add edx, 0x43e
mov dword [ebp - 0x2d0], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x3f0], esi
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ebp - 0x3f4]
jne 0x10016178
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f0]
je 0x10016184
mov dword [ebp - 0x1ac], 1
jmp 0x1001618e
mov dword [ebp - 0x1ac], 0
movzx ecx, word [0x10043170]
test ecx, ecx
jne 0x100161b0
movzx edx, byte [0x1004305b]
test edx, edx
jne 0x100161b0
mov dword [ebp - 0x1b0], 0
jmp 0x100161ba
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x1b0]
je 0x100161d4
mov dword [ebp - 0x200], 1
jmp 0x100161de
mov dword [ebp - 0x200], 0
cmp dword [ebp - 0x200], 0
jle 0x1001620c
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x534], eax
xor ecx, edx
mov edx, dword [ebp - 0x78]
add edx, ecx
mov dword [ebp - 0x78], edx
mov ax, word [0x100431a8]
mov word [ebp - 0x38], ax
jmp 0x10016255
mov ecx, dword [0x100431b0]
mov edx, dword [0x100431b4]
mov dword [ebp - 0x538], edx
add ecx, 0x26
mov dword [0x100431d0], ecx
movzx eax, word [0x1004315c]
cdq
add eax, dword [0x10043130]
adc edx, dword [0x10043134]
mov ecx, dword [0x10043130]
sub ecx, eax
mov eax, dword [0x10043134]
sbb eax, edx
mov dword [0x10043130], ecx
mov dword [0x10043134], eax
mov ecx, dword [ebp - 0x164]
add ecx, 0x54c
mov dword [ebp - 0x4d4], ecx
movsx edx, word [0x100431b8]
test edx, edx
je 0x100162d4
mov dword [ebp - 4], 6
mov byte [ebp - 0x22], 1
jmp 0x100162c2
mov dword [ebp - 4], 0xffffffff
jmp 0x100162d2
jmp 0x100162f1
mov edx, dword [0x100431a0]
mov eax, dword [0x100431a4]
mov dword [ebp - 0x540], eax
sub edx, 0x52f6b88f
mov byte [0x1004310e], dl
mov ecx, dword [ebp - 0x164]
add ecx, 0x36d
mov dword [ebp - 0x1b8], ecx
movsx edx, word [ebp - 0x40]
test edx, edx
je 0x10016354
mov dword [ebp - 0x168], 0
jmp 0x10016326
mov eax, dword [ebp - 0x168]
add eax, 2
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x2e7
jge 0x10016352
mov ecx, dword [0x10043128]
mov edx, dword [0x1004312c]
add ecx, 1
adc edx, 0
mov dword [0x10043128], ecx
mov dword [0x1004312c], edx
jmp 0x10016317
jmp 0x1001637e
mov eax, dword [0x10043190]
mov ecx, dword [0x10043194]
add eax, 0xb3
adc ecx, 0
mov dword [0x10043168], eax
mov dword [0x1004316c], ecx
mov edx, dword [0x10043cbc]
mov dword [0x100431d0], edx
mov eax, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x1b8]
je 0x10016867
push 0
push 0x84
push 0xab
call fcn.1001cea0
mov byte [ebp - 0x21], al
mov ecx, dword [0x100431b0]
mov edx, dword [0x100431b4]
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x3fc]
or eax, dword [ebp - 0x3f8]
jne 0x100163dc
mov dword [ebp - 0x1bc], 1
jmp 0x100163e6
mov dword [ebp - 0x1bc], 0
movsx ecx, word [ebp - 0x28]
cmp dword [ebp - 0x1bc], ecx
jne 0x100163fe
mov dword [ebp - 0x1c0], 1
jmp 0x10016408
mov dword [ebp - 0x1c0], 0
movzx edx, byte [ebp - 0x22]
add edx, dword [ebp - 0x1c0]
je 0x10016443
mov eax, 0x75ab
mov word [ebp - 0x20], ax
movzx eax, word [0x1004315c]
cdq
mov ecx, dword [0x10043150]
mov esi, dword [0x10043154]
add ecx, eax
adc esi, edx
mov dword [0x10043150], ecx
mov dword [0x10043154], esi
jmp 0x1001644c
mov edx, 0x55
mov word [ebp - 0x1c], dx
xor eax, eax
mov byte [ebp - 0x149], al
mov byte [ebp - 0x120], 0x2f
xor ecx, ecx
mov byte [ebp - 0x11f], cl
mov edx, 2
mov word [ebp - 0x11e], dx
mov eax, 0x55
mov word [ebp - 0x11c], ax
mov ecx, 0xf
mov word [ebp - 0x11a], cx
xor edx, edx
mov word [ebp - 0x118], dx
mov dword [ebp - 0xb4], 0
jmp 0x100164ab
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 3
jae 0x10016505
mov ecx, dword [ebp - 0xb4]
lea edx, [ebp + ecx*2 - 0x11e]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x120]
xor ecx, edx
mov word [ebp - 0x12e], cx
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp + eax*2 - 0x11e]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
mov ax, word [ebp - 0x12e]
mov word [edx], ax
jmp 0x1001649c
mov ecx, 3
shl ecx, 1
lea edx, [ebp + ecx - 0x11e]
mov dword [ebp - 0x2dc], edx
xor eax, eax
mov ecx, dword [ebp - 0x2dc]
mov word [ecx], ax
lea edx, [ebp - 0x11e]
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x3750]
push ecx
push 0
push 0
call fcn.10001410
call eax
xor edx, edx
mov byte [ebp - 0x14a], dl
mov byte [ebp - 0xf2], 0x6f
xor eax, eax
mov byte [ebp - 0xf1], al
mov ecx, 0x4d
mov word [ebp - 0xf0], cx
xor edx, edx
mov word [ebp - 0xee], dx
mov dword [ebp - 0xc4], 0
jmp 0x10016590
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 1
jae 0x100165ea
mov ecx, dword [ebp - 0xc4]
lea edx, [ebp + ecx*2 - 0xf0]
mov dword [ebp - 0x2e4], edx
mov eax, dword [ebp - 0x2e4]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0xf2]
xor ecx, edx
mov word [ebp - 0x130], cx
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp + eax*2 - 0xf0]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x2e8]
mov ax, word [ebp - 0x130]
mov word [edx], ax
jmp 0x10016581
mov ecx, 1
shl ecx, 1
lea edx, [ebp + ecx - 0xf0]
mov dword [ebp - 0x2ec], edx
xor eax, eax
mov ecx, dword [ebp - 0x2ec]
mov word [ecx], ax
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x3750]
push ecx
push 0
push 0
call fcn.100012f0
call eax
lea edx, [ebp - 0xb18]
push edx
lea eax, [ebp - 0x3750]
push eax
push 0
push 0
call fcn.100012f0
call eax
push 0x100353b4
lea ecx, [ebp - 0x3750]
push ecx
push 0
push 0
call fcn.100012f0
call eax
mov edx, dword [0x10043190]
mov eax, dword [0x10043194]
push 0
push 0xb439e939
push eax
push edx
call fcn.10023240
mov dword [0x100431a8], eax
mov dword [0x100431ac], edx
lea ecx, [ebp - 0x274c]
mov dword [ebp - 0x48c], ecx
xor edx, edx
mov byte [ebp - 0x70], dl
lea eax, [ebp - 0x6ca]
push eax
lea ecx, [ebp - 0x70]
call fcn.10001a80
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], 0
jmp 0x100166c3
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0x1d
jae 0x10016725
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x2f4]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xcc]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x132], ax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2f8]
mov cx, word [ebp - 0x132]
mov word [eax], cx
jmp 0x100166b4
mov edx, 0x1d
shl edx, 1
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x2fc], ecx
xor edx, edx
mov eax, dword [ebp - 0x2fc]
mov word [eax], dx
mov ecx, dword [ebp - 0xcc]
add ecx, 2
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x488], edx
xor eax, eax
mov byte [ebp - 0x71], al
lea ecx, [ebp - 0x5fe]
push ecx
lea ecx, [ebp - 0x71]
call fcn.10001cf0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], 0
jmp 0x10016797
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x14
jae 0x100167f9
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x304]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xd4]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x134], cx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
mov dx, word [ebp - 0x134]
mov word [ecx], dx
jmp 0x10016788
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x30c], edx
xor eax, eax
mov ecx, dword [ebp - 0x30c]
mov word [ecx], ax
mov edx, dword [ebp - 0xd4]
add edx, 2
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x484], eax
lea ecx, [ebp - 0x3750]
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], 3
mov dword [ebp - 0x478], 0
lea edx, [ebp - 0x48c]
push edx
call fcn.10013dd0
jmp 0x10017b48
jmp 0x10016f49
movsx eax, byte [0x10043112]
not eax
movsx ecx, byte [ebp - 0x12]
not ecx
cmp eax, ecx
je 0x1001688b
mov dword [ebp - 0x1c4], 1
jmp 0x10016895
mov dword [ebp - 0x1c4], 0
mov edx, dword [0x100431d0]
cmp edx, dword [ebp - 0x1c4]
je 0x100168a5
jmp 0x100168e2
mov ecx, dword [0x10043178]
mov esi, dword [0x1004317c]
sub ecx, 0xc1
sbb esi, 0
mov eax, dword [0x100431d4]
cdq
push esi
push ecx
push edx
push eax
call fcn.10023240
mov dword [0x100431d4], eax
imul edx, dword [ebp - 0x84], 0x46
xor eax, eax
mov dword [0x10043128], edx
mov dword [0x1004312c], eax
lea ecx, [ebp - 0xb18]
push ecx
mov edx, dword [0x1038227c]
push edx
call fcn.10019a40
test eax, eax
je 0x10016f19
mov dword [ebp - 0x16c], 0x1a47
mov eax, dword [0x100431c8]
mov ecx, dword [0x100431cc]
push 0xe787e
push 0xd6c52b6d
push ecx
push eax
call fcn.10023240
mov edx, dword [ebp - 0x7c]
sub edx, eax
mov dword [ebp - 0x7c], edx
mov eax, dword [0x100431a8]
or eax, dword [0x100431ac]
je 0x10016944
movzx ecx, word [ebp - 0x30]
mov dword [ebp - 0x1c8], ecx
jmp 0x10016950
mov edx, dword [0x10043148]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov dword [0x10043130], eax
mov dword [0x10043134], ecx
cmp dword [ebp - 0x16c], 0x1897
jle 0x10016a1b
movsx edx, word [ebp - 0x1c]
movzx eax, word [ebp - 0x30]
cmp edx, eax
jle 0x1001698b
mov dword [ebp - 0x1cc], 1
jmp 0x10016995
mov dword [ebp - 0x1cc], 0
movsx ecx, word [ebp - 0x1c]
cmp ecx, 0x5c
jle 0x100169aa
mov dword [ebp - 0x1d0], 1
jmp 0x100169b4
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x1cc]
cmp edx, dword [ebp - 0x1d0]
jge 0x10016a07
cmp dword [0x1004318c], 0
je 0x100169df
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ecx
jmp 0x100169f0
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edx
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x228]
mov dword [0x10043128], edx
mov dword [0x1004312c], eax
mov ecx, dword [ebp - 0x16c]
sub ecx, 1
mov dword [ebp - 0x16c], ecx
jmp 0x10016963
xor edx, edx
mov byte [ebp - 0x14b], dl
mov byte [ebp - 0x12a], 0x55
xor eax, eax
mov byte [ebp - 0x129], al
mov ecx, 0x78
mov word [ebp - 0x128], cx
mov edx, 0x2f
mov word [ebp - 0x126], dx
mov eax, 0x75
mov word [ebp - 0x124], ax
xor ecx, ecx
mov word [ebp - 0x122], cx
mov dword [ebp - 0xd8], 0
jmp 0x10016a7a
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 3
jae 0x10016ad4
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp + eax*2 - 0x128]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x314]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x12a]
xor eax, ecx
mov word [ebp - 0x136], ax
mov edx, dword [ebp - 0xd8]
lea eax, [ebp + edx*2 - 0x128]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dx, word [ebp - 0x136]
mov word [ecx], dx
jmp 0x10016a6b
mov eax, 3
shl eax, 1
lea ecx, [ebp + eax - 0x128]
mov dword [ebp - 0x31c], ecx
xor edx, edx
mov eax, dword [ebp - 0x31c]
mov word [eax], dx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x320]
push edx
lea eax, [ebp - 0x4754]
push eax
push 0
push 0
call fcn.10001410
call eax
xor ecx, ecx
mov byte [ebp - 0x181], cl
mov byte [ebp - 0xf8], 0x2b
xor edx, edx
mov byte [ebp - 0xf7], dl
mov eax, 9
mov word [ebp - 0xf6], ax
xor ecx, ecx
mov word [ebp - 0xf4], cx
mov dword [ebp - 0xdc], 0
jmp 0x10016b5f
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
cmp dword [ebp - 0xdc], 1
jae 0x10016bb9
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp + eax*2 - 0xf6]
mov dword [ebp - 0x324], ecx
mov edx, dword [ebp - 0x324]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0xf8]
xor eax, ecx
mov word [ebp - 0x138], ax
mov edx, dword [ebp - 0xdc]
lea eax, [ebp + edx*2 - 0xf6]
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
mov dx, word [ebp - 0x138]
mov word [ecx], dx
jmp 0x10016b50
mov eax, 1
shl eax, 1
lea ecx, [ebp + eax - 0xf6]
mov dword [ebp - 0x32c], ecx
xor edx, edx
mov eax, dword [ebp - 0x32c]
mov word [eax], dx
lea ecx, [ebp - 0xf6]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp - 0x330]
push edx
lea eax, [ebp - 0x4754]
push eax
push 0
push 0
call fcn.100012f0
call eax
lea ecx, [ebp - 0xb18]
push ecx
lea edx, [ebp - 0x4754]
push edx
push 0
push 0
call fcn.100012f0
call eax
push 0x100353b8
lea eax, [ebp - 0x4754]
push eax
push 0
push 0
call fcn.100012f0
call eax
mov ecx, 2
mov word [0x10043158], cx
movzx edx, byte [0x1004310f]
test edx, edx
jne 0x10016c50
mov dword [ebp - 0x1d4], 1
jmp 0x10016c5a
mov dword [ebp - 0x1d4], 0
movzx eax, byte [ebp - 0x22]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x68]
xor esi, dword [ebp - 0x64]
xor ecx, 0x4e3039ef
xor esi, 0
movzx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x1d4]
movzx edx, byte [0x10043033]
movsx edi, word [0x10043184]
sub edx, edi
imul eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
movzx eax, word [0x10043158]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x10016cc4
cmp dword [ebp - 0x170], 1
je 0x10016cec
cmp dword [ebp - 0x170], 2
je 0x10016cfe
jmp 0x10016d32
mov ecx, dword [ebp - 0x80]
mov byte [0x1004305a], cl
mov edx, 8
imul eax, edx, 0xa9
mov ecx, dword [eax + 0x10381c50]
mov edx, dword [eax + 0x10381c54]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
jmp 0x10016d32
mov eax, dword [0x100431a8]
xor eax, 0x33676858
mov word [0x1004315c], ax
jmp 0x10016d32
movsx ecx, byte [0x1004310e]
sub ecx, 0x20e6e65f
mov byte [0x10043093], cl
movsx eax, word [ebp - 0x38]
cdq
push 0xc4b
push 0x8152a2d7
push edx
push eax
call fcn.10023240
mov dword [0x100431b0], eax
mov dword [0x100431b4], edx
lea edx, [ebp - 0x274c]
mov dword [ebp - 0x4a4], edx
xor eax, eax
mov byte [ebp - 0x72], al
lea ecx, [ebp - 0x708]
push ecx
lea ecx, [ebp - 0x72]
call fcn.100020c0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], 0
jmp 0x10016d73
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0x1d
jae 0x10016dd5
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x334]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xe4]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x13a], cx
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe4]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
mov dx, word [ebp - 0x13a]
mov word [ecx], dx
jmp 0x10016d64
mov eax, 0x1d
shl eax, 1
mov ecx, dword [ebp - 0xe4]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x33c], edx
xor eax, eax
mov ecx, dword [ebp - 0x33c]
mov word [ecx], ax
mov edx, dword [ebp - 0xe4]
add edx, 2
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x4a0], eax
xor ecx, ecx
mov byte [ebp - 0x73], cl
lea edx, [ebp - 0x62a]
push edx
lea ecx, [ebp - 0x73]
call fcn.10002330
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 0
jmp 0x10016e47
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x14
jae 0x10016ea9
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xec]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xec]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x13c], dx
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xec]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x348]
mov ax, word [ebp - 0x13c]
mov word [edx], ax
jmp 0x10016e38
mov ecx, 0x14
shl ecx, 1
mov edx, dword [ebp - 0xec]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x34c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34c]
mov word [edx], cx
mov eax, dword [ebp - 0xec]
add eax, 2
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
mov dword [ebp - 0x49c], ecx
lea edx, [ebp - 0x4754]
mov dword [ebp - 0x498], edx
mov dword [ebp - 0x494], 3
mov dword [ebp - 0x490], 0
lea eax, [ebp - 0x4a4]
push eax
call fcn.10013dd0
jmp 0x10017b48
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0x295f
mov byte [ebp - 0x21], dl
movsx eax, word [0x10043180]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push edx
push eax
push esi
push ecx
call fcn.10023240
mov byte [0x1004310e], al
xor eax, eax
jmp 0x10017b48
jmp 0x100178d3
mov edx, dword [0x10043150]
mov eax, dword [0x10043154]
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x404]
or ecx, dword [ebp - 0x400]
je 0x10016f8a
movsx edx, word [0x10043184]
movsx eax, word [0x10043180]
add edx, eax
mov word [0x10043184], dx
mov ecx, dword [0x10043134]
push ecx
mov edx, dword [0x10043130]
push edx
mov eax, dword [0x10043188]
xor ecx, ecx
push ecx
push eax
movzx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov eax, dword [0x100431d4]
cdq
push edx
push eax
push 0
push 0x77
call fcn.1001cb70
mov word [ebp - 0x1c], ax
mov edx, 0x457200d9
test edx, edx
je 0x100170fd
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x544], ecx
push eax
push 0
push 0
call fcn.1001cea0
mov byte [ebp - 0x21], al
movsx edx, byte [ebp - 0x21]
test edx, edx
jl 0x10016ff7
mov dword [ebp - 0x1d8], 1
jmp 0x10017001
mov dword [ebp - 0x1d8], 0
movsx eax, byte [ebp - 0x21]
cmp eax, 0xd
jl 0x10017016
mov dword [ebp - 0x1dc], 1
jmp 0x10017020
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x1dc]
jl 0x1001705b
mov edx, dword [0x10043168]
mov eax, dword [0x1004316c]
push 0
push 0x2e76
push eax
push edx
call fcn.10023240
not eax
not edx
mov dword [0x100431c0], eax
mov dword [0x100431c4], edx
jmp 0x100170f8
movzx ecx, word [ebp - 0x30]
cmp dword [ebp - 0x78], ecx
jbe 0x10017070
mov dword [ebp - 0x1e0], 1
jmp 0x1001707a
mov dword [ebp - 0x1e0], 0
mov edx, dword [ebp - 0x1e0]
not edx
test edx, edx
jne 0x10017099
movsx eax, word [0x10043180]
test eax, eax
jne 0x10017099
movzx ecx, word [ebp - 0x50]
test ecx, ecx
je 0x100170b9
mov edx, dword [0x10043130]
add edx, 7
mov word [ebp - 0x30], dx
movzx eax, word [0x1004315c]
imul ecx, eax, 0x69d16a25
mov word [ebp - 0x30], cx
jmp 0x100170f8
xor edx, edx
je 0x100170d7
movzx eax, word [ebp - 0x18]
imul ecx, eax, 0x9284a226
movsx edx, word [ebp - 0x28]
sub edx, ecx
mov word [ebp - 0x28], dx
mov byte [ebp - 0x22], 8
jmp 0x100170f8
cmp dword [0x1004318c], 0
je 0x100170f8
mov eax, dword [0x10043188]
add eax, dword [ebp - 0x78]
imul eax, dword [ebp - 0x78]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x7c]
mov dword [0x10043160], ecx
jmp 0x1001726b
cmp dword [0x10043188], 0
je 0x100171a5
movzx eax, word [ebp - 0x34]
cdq
mov ecx, 0xcf75bc17
sub ecx, eax
mov esi, 0x4b662
sbb esi, edx
not ecx
not esi
movsx eax, word [ebp - 0x38]
cdq
and eax, dword [0x10043128]
and edx, dword [0x1004312c]
not eax
not edx
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x408], esi
mov edx, dword [ebp - 0x40c]
or edx, dword [ebp - 0x408]
jne 0x10017168
xor eax, eax
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x410], eax
jmp 0x10017173
xorps xmm0, xmm0
movlpd qword [ebp - 0x414], xmm0
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x4a8], edx
sub ecx, eax
add ecx, dword [ebp - 0x414]
mov byte [0x1004310e], cl
movzx eax, byte [ebp - 0x39]
add eax, 0xfe8
mov byte [0x1004310e], al
jmp 0x1001726b
mov ecx, dword [ebp - 0x80]
not ecx
movsx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x100171be
mov dword [ebp - 0x1e8], 1
jmp 0x100171c8
mov dword [ebp - 0x1e8], 0
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x100171dc
mov dword [ebp - 0x1e4], 1
jmp 0x100171e6
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x1e4], 0xffffff06
jl 0x100171fe
mov dword [ebp - 0x1ec], 1
jmp 0x10017208
mov dword [ebp - 0x1ec], 0
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0x1ec]
jne 0x10017239
mov edx, dword [0x10043128]
mov eax, dword [0x1004312c]
xor edx, 0xd161ae9a
xor eax, 0x732e1
mov dword [0x10043128], edx
mov dword [0x1004312c], eax
jmp 0x1001726b
movsx ecx, word [ebp - 0x4c]
test ecx, ecx
je 0x1001726b
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x10017255
movsx eax, byte [ebp - 0x12]
mov dword [ebp - 0x1f0], eax
jmp 0x1001725f
movzx ecx, word [ebp - 0x50]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f0]
mov dword [0x10043164], edx
mov eax, dword [0x10043cbc]
mov dword [ebp - 0x174], eax
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], edx
cmp dword [ebp - 0x41c], 0x526a18b9
jne 0x100172ab
cmp dword [ebp - 0x418], 0x673b7
jne 0x100172ab
mov dword [ebp - 0x1f4], 1
jmp 0x100172b5
mov dword [ebp - 0x1f4], 0
mov ecx, dword [0x100431d0]
cmp ecx, dword [ebp - 0x1f4]
jne 0x100172d7
xor edx, edx
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x250], edx
jmp 0x100172e2
xorps xmm0, xmm0
movlpd qword [ebp - 0x254], xmm0
mov eax, dword [0x10043188]
xor ecx, ecx
add eax, dword [ebp - 0x8c]
adc ecx, dword [ebp - 0x88]
sub eax, dword [ebp - 0x254]
sbb ecx, dword [ebp - 0x250]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x424]
or edx, dword [ebp - 0x420]
je 0x10017571
push 0
push 0xa9
movzx eax, byte [ebp - 0x39]
cdq
push edx
push eax
push 0
push 0x67
push 0
push 0
push 0
push 0xd2
call fcn.1001cb70
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10017358
mov dword [ebp - 0x1f8], 1
jmp 0x10017362
mov dword [ebp - 0x1f8], 0
movzx ecx, byte [ebp - 0x11]
cmp ecx, 0xa
jne 0x10017377
mov dword [ebp - 0x1fc], 1
jmp 0x10017381
mov dword [ebp - 0x1fc], 0
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ebp - 0x1fc]
jne 0x10017562
movsx eax, word [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x4ac], edx
push ecx
push 0x9b
call fcn.1001cea0
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x100173c7
mov dword [ebp - 0x230], 1
jmp 0x100173d1
mov dword [ebp - 0x230], 0
movsx ecx, word [ebp - 0x28]
cmp ecx, 0x28
je 0x100173e6
mov dword [ebp - 0x204], 1
jmp 0x100173f0
mov dword [ebp - 0x204], 0
mov edx, dword [ebp - 0x230]
cmp edx, dword [ebp - 0x204]
je 0x1001744a
movzx eax, byte [0x1004305a]
mov ecx, dword [0x10043138]
sub ecx, eax
imul ecx, dword [0x10043138]
mov dword [0x10043138], ecx
mov edx, dword [0x100431c8]
mov eax, dword [0x100431cc]
push eax
push edx
mov ecx, dword [0x1004311c]
push ecx
mov edx, dword [0x10043118]
push edx
call fcn.10023240
mov dword [0x10043118], eax
mov dword [0x1004311c], edx
jmp 0x10017560
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
mov edx, dword [ebp - 0x360]
or edx, dword [ebp - 0x35c]
je 0x10017560
movzx eax, word [0x10043198]
test eax, eax
jne 0x10017485
mov dword [ebp - 0x208], 1
jmp 0x1001748f
mov dword [ebp - 0x208], 0
movzx eax, byte [0x1004300a]
add eax, dword [ebp - 0x208]
not eax
cdq
mov dword [0x10043130], eax
mov dword [0x10043134], edx
cmp dword [ebp - 0x80], 0
jne 0x100174bc
mov dword [ebp - 0x21c], 1
jmp 0x100174c6
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x80], 0
jne 0x100174d8
mov dword [ebp - 0x218], 1
jmp 0x100174e2
mov dword [ebp - 0x218], 0
movsx eax, word [ebp - 0x28]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1004316c]
add ecx, dword [0x10043168]
adc esi, edx
not ecx
not esi
mov eax, dword [0x10043120]
not eax
xor edx, edx
xor ecx, eax
xor esi, edx
mov eax, dword [ebp - 0x21c]
xor eax, dword [ebp - 0x218]
movsx edx, word [0x10043180]
add eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], esi
mov eax, dword [ebp - 0x42c]
or eax, dword [ebp - 0x428]
jne 0x1001754c
mov ecx, 1
mov word [ebp - 0xa6], cx
jmp 0x10017555
xor edx, edx
mov word [ebp - 0xa6], dx
mov ax, word [ebp - 0xa6]
mov word [ebp - 0x50], ax
jmp 0x10017571
mov ecx, dword [0x100431c0]
sub ecx, 0xe726f36
mov byte [ebp - 0x29], cl
mov edx, dword [ebp - 0x174]
add edx, 0x2f5
mov dword [ebp - 0x358], edx
xor eax, eax
mov dword [0x10043128], 3
mov dword [0x1004312c], eax
movzx ecx, word [0x1004315c]
and ecx, 0x35
mov byte [ebp - 0x11], cl
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 7
call fcn.10023280
mov word [0x10043170], ax
mov edx, dword [0x10043128]
mov eax, dword [0x1004312c]
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
ja 0x10017678
jb 0x100175e7
cmp dword [ebp - 0x264], 3
ja 0x10017678
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x52c]
jmp dword [edx*4 + 0x10017b70]
mov ecx, dword [ebp - 0x174]
add ecx, 0x50a
mov dword [ebp - 0x214], ecx
mov edx, dword [0x10043128]
mov eax, dword [0x1004312c]
push 0
push 0xd1046a1b
push eax
push edx
call fcn.10023240
mov byte [0x1004305a], al
movsx ecx, word [ebp - 0x4c]
test ecx, ecx
je 0x100176c4
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x240], eax
jmp 0x100176d5
movsx eax, word [ebp - 0x38]
cdq
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], edx
mov cx, word [ebp - 0x244]
mov word [0x10043158], cx
mov edx, dword [ebp - 0x174]
add edx, 0x595
mov dword [ebp - 0x354], edx
mov dword [ebp - 4], 8
xor eax, eax
mov dword [0x10043130], 1
mov dword [0x10043134], eax
movzx eax, word [0x10043198]
cdq
add eax, 0x5d421402
adc edx, 0x4836c
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x4b0], edx
sub ecx, 0x68
mov word [ebp - 0x28], cx
mov eax, dword [0x10043130]
mov ecx, dword [0x10043134]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x434]
or edx, dword [ebp - 0x430]
je 0x10017760
jmp 0x1001776f
imul eax, dword [0x10043164], 0x1508b1d0
mov byte [0x1004310e], al
jmp 0x10017789
mov dword [ebp - 4], 0xffffffff
jmp 0x10017799
mov eax, dword [ebp - 0x354]
or eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x358]
xor ecx, dword [ebp - 0x214]
cmp eax, ecx
je 0x100178d3
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0x1ac31fae
sbb edx, 0x1aa78
mov dword [0x100431c8], eax
mov dword [0x100431cc], edx
mov edx, 8
imul ecx, edx, 0xba
movzx eax, word [ebp - 0x18]
cdq
mov esi, dword [ecx + 0x10381c54]
push esi
mov ecx, dword [ecx + 0x10381c50]
push ecx
push edx
push eax
call fcn.10023240
mov word [ebp - 0x18], ax
movzx eax, byte [0x1004310f]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x440], esi
mov edx, dword [ebp - 0x438]
cmp edx, dword [ebp - 0x440]
jg 0x1001789a
jl 0x10017841
mov eax, dword [ebp - 0x43c]
cmp eax, dword [ebp - 0x444]
ja 0x1001789a
mov dword [ebp - 4], 0xa
mov cx, word [0x10043cbc]
mov word [ebp - 0x34], cx
jmp 0x10017888
mov dword [ebp - 4], 0xffffffff
jmp 0x10017898
jmp 0x100178cc
movzx edx, byte [0x1004305b]
test edx, edx
je 0x100178cc
mov eax, dword [ebp - 0x84]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100431c4]
push edx
mov eax, dword [0x100431c0]
push eax
call fcn.10023240
mov dword [0x100431c0], eax
mov dword [0x100431c4], edx
xor eax, eax
jmp 0x10017b48
movzx ecx, word [ebp - 0x18]
cmp dword [0x10043188], ecx
jne 0x10017a69
mov edx, dword [ebp - 0x84]
xor eax, eax
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], esi
mov edx, dword [ebp - 0x44c]
cmp edx, dword [ebp - 0x454]
jne 0x10017931
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x450]
jne 0x10017931
mov dword [ebp - 0x210], 1
jmp 0x1001793b
mov dword [ebp - 0x210], 0
cmp dword [ebp - 0x84], 0x50
jne 0x10017950
mov dword [ebp - 0x20c], 1
jmp 0x1001795a
mov dword [ebp - 0x20c], 0
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [ebp - 0x20c]
jne 0x1001798e
movzx edx, word [0x10043158]
movsx eax, word [0x10043184]
imul edx, eax
movzx ecx, word [0x10043158]
sub ecx, edx
mov word [0x10043158], cx
jmp 0x10017a64
movzx edx, byte [ebp - 0x29]
test edx, edx
je 0x1001799b
jmp 0x10017a64
movsx eax, word [ebp - 0x38]
test eax, eax
jne 0x100179f6
cmp dword [0x100431d0], 0
jne 0x100179f6
mov ecx, dword [0x10043128]
mov edx, dword [0x1004312c]
push 0
push 0x5dbcf245
push edx
push ecx
call fcn.10023240
mov byte [0x10043033], al
mov eax, 8
imul ecx, eax, 0x6b7f
movzx eax, word [ebp - 0x18]
cdq
mov esi, dword [ecx + 0x1021fb74]
push esi
mov ecx, dword [ecx + 0x1021fb70]
push ecx
push edx
push eax
call fcn.10023240
mov word [ebp - 0x18], ax
jmp 0x10017a64
mov edx, dword [0x10043190]
mov eax, dword [0x10043194]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x45c]
or ecx, dword [ebp - 0x458]
je 0x10017a64
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x10017a2f
mov dword [ebp - 0x1b4], 1
jmp 0x10017a39
mov dword [ebp - 0x1b4], 0
movsx eax, word [0x10043180]
sub eax, dword [ebp - 0x1b4]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x4b4], ecx
and eax, 0x4b7f
mov word [0x1004315c], ax
jmp 0x10017b43
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x464]
or ecx, dword [ebp - 0x460]
je 0x10017adb
movsx eax, word [0x10043180]
cdq
push 0xa5c0c
push 0xa03a110
push edx
push eax
call fcn.10023240
mov dword [0x10043164], eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x4b8], edx
sub ecx, eax
movsx eax, word [ebp - 0x1c]
movsx edx, word [ebp - 0x20]
not edx
movsx esi, word [ebp - 0x38]
sub edx, esi
not edx
or eax, edx
cdq
add ecx, eax
not ecx
mov dword [ebp - 0x84], ecx
jmp 0x10017b43
movsx eax, word [0x100431b8]
test eax, eax
je 0x10017b03
movsx eax, byte [ebp - 0x12]
cdq
push 0x9a270
push 0xc08208da
push edx
push eax
call fcn.10023240
mov byte [0x10043112], al
jmp 0x10017b43
mov ecx, dword [ebp - 0x8c]
or ecx, dword [ebp - 0x88]
je 0x10017b43
movsx edx, word [ebp - 0x20]
imul edx, dword [0x100431d4]
movsx eax, word [ebp - 0x20]
sub eax, edx
mov word [ebp - 0x20], ax
push 0
push 0x61c90da2
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.10023240
mov byte [ebp - 0x12], al
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret