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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x14c
mov esi, dword [eax + 8]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], esi
mov eax, dword [eax]
mov word [esp + 0x7a], cx
mov dword [esp + 0x48], edx
xor edx, edx
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + eax + 0xc8], edx
mov dword [esp + eax + 0xcc], edx
add eax, 8
cmp eax, 0x18
jb 0x111eac1
mov eax, dword [esp + 0x160]
test eax, eax
je 0x111eaf2
mov eax, dword [esp + 0x160]
cmp dword [eax], 0x3f
jg 0x111ee5f
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
cmp eax, 0x40
jg 0x1121c94
test byte [esp + 0x7a], 0x20
je 0x111ee38
mov dword [esp + 0x7c], 1
mov edx, 0x3a8
xor ecx, ecx
mov esi, 0x358
mov edi, dword [esp + 0x70]
mov eax, edi
call fcn.010b7ad0
mov dword [esp + 0x40], eax
movzx eax, byte [edi + 0x57]
test al, al
mov byte [esp + 0x58], al
mov eax, dword [esp + 0x40]
jne 0x111fb2d
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov dword [eax + 0x18], 0xffffffff
sub esp, 4
mov ebp, dword [esp + 0x80]
mov dword [eax + 0x14], 0xffffffff
mov dword [eax + 4], edi
mov edi, dword [esp + 0x164]
mov dword [eax], edx
mov dword [eax + 8], edi
mov edi, dword [esp + 0x168]
mov dword [eax + 0xc], edi
mov edi, eax
mov eax, ebp
mov byte [edi + 0x2c], al
mov eax, dword [edx + 0x38]
mov dword [esp + 0xc], eax
sub eax, 1
mov dword [edx + 0x38], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
movzx eax, word [esp + 0x7e]
mov word [edi + 0x28], ax
movzx eax, word [esp + 0x174]
mov word [edi + 0x2a], ax
movsx eax, word [edx + 0x9c]
mov edx, edi
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x16c]
mov dword [edi + 0x2d], 0
mov dword [edi + 0x10], eax
lea eax, [edi + 0x2d]
lea edi, [edi + 0x31]
mov dword [edi + 0x1b], 0
and edi, 0xfffffffc
sub eax, edi
lea ecx, [eax + 0x23]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp + ebp*2]
mov edi, edx
lea edx, [edx + 0x2f8]
shl eax, 5
mov dword [esp + 0x6c], edx
add esi, edi
add eax, 0x50
push eax
push 0
push edx
call 0x1184dc8
lea eax, [edi + 0x50]
mov ecx, 0x2c
mov edx, ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0xdc], eax
lea eax, [esi + 0x40]
mov dword [edi + 0x1f4], 0
mov dword [edi + 0x1f8], 0xffffff9d
mov dword [esi + 0x38], eax
xor eax, eax
mov word [esi + 0x30], ax
mov eax, 3
mov word [esi + 0x34], ax
lea eax, [edi + 0x70]
mov dword [esi + 0x2c], 0
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x50], edi
mov byte [edi + 0x59], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x60], 8
mov dword [esp + 0xd8], edi
mov dword [esp + 0xe0], esi
call fcn.010b91c0
add esp, 0x10
test ebp, ebp
jne 0x111f93a
mov eax, dword [esp + 0x160]
test eax, eax
je 0x111ecb0
mov eax, dword [esp + 0x160]
mov eax, dword [eax]
mov byte [edi + 0x2d], al
test word [esp + 0x7a], 0x100
je 0x111eccb
mov eax, dword [esp + 0x70]
test byte [eax + 0x50], 0x10
jne 0x111eccb
mov eax, dword [esp + 0x40]
mov byte [eax + 0x2f], 1
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x111ece0
test byte [eax + 5], 4
je 0x111fcfc
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x5c]
mov ebx, eax
mov dword [esp + 8], eax
sub ebx, 1
js 0x111ed10
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
lea esi, [esi]
mov ecx, ebx
mov edx, esi
mov eax, edi
call fcn.0112d8d0
sub ebx, 1
jae 0x111ed00
mov esi, dword [esp + 0x168]
test esi, esi
je 0x111ed34
mov eax, dword [esp + 0x168]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
je 0x111ed34
mov edx, eax
mov eax, dword [esp + 0x4c]
call fcn.010cd730
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x111ef00
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x7c]
xor esi, esi
xor ebp, ebp
mov ecx, dword [edx + 0x14]
test ecx, ecx
jg 0x111eda6
jmp 0x111ef32
test byte [ecx + 4], 2
je 0x111ed78
mov eax, dword [esp + 0x48]
test byte [eax + 0x2c], 0x40
jne 0x111ed93
push 0x10
mov eax, dword [esp + 0x44]
push dword [eax + 0x20]
push ecx
push dword [esp + 0x30]
call fcn.0111cf40
or word [ebx + 0xa], 4
add esp, 0x10
mov edx, dword [esp + 0xcc]
add esi, 1
cmp dword [edx + 0x14], esi
jle 0x111ef32
lea ebx, [esi + esi*2]
shl ebx, 4
add ebx, dword [edx + 0x18]
test byte [ebx + 0xa], 2
jne 0x111ed9a
mov eax, dword [ebx + 0x28]
or eax, dword [ebx + 0x2c]
mov ecx, dword [ebx]
jne 0x111ed9a
test edi, edi
je 0x111ed68
mov dword [esp + 0xe0], ebp
lea eax, [esp + 0xe0]
mov edx, 4
mov dword [eax + edx], ebp
mov dword [eax + edx + 4], ebp
add edx, 8
cmp edx, 0x1c
jb 0x111edd6
mov dword [esp + 0xe4], 0x10a1300
mov edx, 1
mov word [esp + 0xf4], dx
mov dword [esp + 0xe8], 0x10994e0
test ecx, ecx
je 0x111ed68
mov edx, ecx
mov dword [esp + 8], ecx
call fcn.010b3350
mov ecx, dword [esp + 8]
cmp word [esp + 0xf4], 0
je 0x111ed93
jmp 0x111ed68
mov eax, dword [esp + 0x7c]
cmp eax, 1
jle 0x1121617
lea eax, [eax + eax*2 - 3]
xor ecx, ecx
shl eax, 5
lea esi, [eax + 0x358]
lea edx, [eax + 0x3a8]
jmp 0x111eb24
mov dword [esp + 0x160], 0
and ch, 0xfe
or ch, 0x20
mov word [esp + 0x7a], cx
jmp 0x111eaf2
mov eax, dword [esp + 0xcc]
cmp byte [eax + 9], 0
jne 0x111f8ff
mov edi, dword [esp + 8]
mov ebp, dword [edi + 0xc]
mov edi, dword [edi + 8]
or dword [esp + 0x3c], ebp
or dword [esp + 0x38], edi
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x57], 0
je 0x111f0fd
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x38]
lea ebx, [eax + 0x40]
cmp ebx, edx
je 0x111f1cb
mov edi, dword [esp + 0x44]
mov eax, edi
call fcn.010a7e90
mov esi, dword [esp + 8]
mov eax, edi
xor edi, edi
mov dword [esi + 0x38], ebx
mov ebx, 3
mov edx, esi
mov word [esi + 0x34], bx
call fcn.010a8000
mov ebp, dword [esp + 0x50]
mov word [esi + 0x30], di
mov dword [esi + 0x2c], 0
test ebp, ebp
je 0x111f1e9
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov eax, dword [edx + 0x24]
mov word [edi + 0x9c], ax
mov eax, dword [esp + 0x70]
call fcn.010ae240
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
add esp, 0x14c
pop ebx
pop esi
pop edi
pop ebp
ret
test word [esp + 0x7a], 0x100
je 0x111ef5a
mov eax, dword [esp + 0x70]
test byte [eax + 0x50], 0x10
je 0x111fb83
mov eax, dword [esp + 0x40]
and word [esp + 0x7a], 0xfeff
and word [eax + 0x28], 0xfeff
mov eax, dword [esp + 0xc8]
cmp dword [esp + 0x7c], 1
mov dword [esp + 0x10], eax
mov esi, dword [eax + 4]
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
je 0x1121631
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x2c]
lea eax, [eax + eax*8]
lea edi, [esi + eax*8 + 8]
mov eax, dword [ebx]
mov dword [esp + 0x10], edi
mov eax, dword [eax]
mov dword [esp + 0xdc], 0x4e20
mov dword [esp + 0x44], eax
lea eax, [esi + 8]
cmp eax, edi
jae 0x111f1b9
mov dword [esp + 0x30], 0
lea eax, [esi + 0x50]
mov dword [esp + 0x34], 0
mov esi, eax
mov eax, 0x4e20
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea esi, [esi]
mov edi, dword [esp + 8]
movzx edx, byte [esp + 0x28]
add eax, 0x3e8
mov byte [edi + 0x10], dl
mov edi, dword [ebx + 0x1f8]
xor edx, edx
mov dword [esp + 0xdc], eax
mov ebp, dword [esi - 0x1c]
mov eax, 1
mov dword [esp + 0x20], edi
cmp ebp, edi
je 0x111f069
mov eax, dword [ebx + 0x1f4]
cmp eax, 1
jle 0x1121628
mov ecx, 1
jmp 0x111f04b
add ecx, 1
cmp ecx, eax
je 0x111f868
cmp ebp, dword [ebx + ecx*4 + 0x1f8]
jne 0x111f040
xor eax, eax
xor edx, edx
mov dword [esp + 0x20], edi
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
mov edi, dword [esp + 8]
mov dword [edi + 0xc], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 8], eax
movzx eax, byte [esi - 0x24]
test edx, edx
jne 0x111f120
test al, 0x62
jne 0x111f120
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x111f0a3
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esi - 0x38]
cmp byte [eax + 0x2b], 1
je 0x111f157
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor edi, edi
xor ebp, ebp
lea eax, [esp + 0xc8]
call fcn.010e4ea0
test eax, eax
je 0x111ee80
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 8]
or dword [esp + 0x3c], ecx
or dword [esp + 0x38], edx
cmp eax, 0x65
jne 0x1122ee4
sub esp, 8
push 0x1430a74
push 0x1c
call fcn.010d83d0
add esp, 0x10
mov eax, dword [esp + 0x10]
add dword [esp + 0x28], 1
cmp esi, eax
jae 0x111eeb1
mov eax, dword [esp + 0xdc]
add esi, 0x48
jmp 0x111eff8
test al, 0x40
mov edx, 1
cmove edx, dword [esp + 0x30]
shr al, 4
and eax, 1
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [esi - 0x38]
or dword [esp + 0x18], edi
or dword [esp + 0x1c], ebp
cmp byte [eax + 0x2b], 1
mov dword [esp + 0x30], edx
jne 0x111f0b0
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x1121bf2
xor eax, eax
xor edx, edx
mov dword [esp + 0x60], esi
mov ebp, esi
mov edi, edx
mov esi, eax
mov eax, esi
or eax, edi
jne 0x111f89c
test byte [ebp + 0x24], 0x22
jne 0x111f89c
mov eax, dword [esp + 0x10]
add ebp, 0x48
cmp ebp, eax
jb 0x111f17b
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x60]
sub esp, 8
push ebp
push edi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0xd8]
call fcn.0111a4a0
add esp, 0x10
jmp 0x111f0c8
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x38]
lea ebx, [eax + 0x40]
cmp edx, ebx
jne 0x111eec3
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x44]
mov edx, esi
call fcn.010a8000
mov eax, esi
xor esi, esi
mov word [eax + 0x30], si
mov dword [eax + 0x2c], 0
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
call fcn.010e3340
mov edi, dword [esp + 0x70]
cmp byte [edi + 0x57], 0
jne 0x111ef00
mov ecx, dword [esi + 8]
mov eax, esi
test ecx, ecx
je 0x111fb45
call fcn.0109b380
mov eax, esi
movzx esi, word [esi + 0x34]
lea edx, [esi + 1]
mov word [esp + 8], si
mov esi, eax
movsx edx, dx
call fcn.010e3340
cmp byte [edi + 0x57], 0
jne 0x111ef00
mov eax, dword [esi + 8]
test byte [esi + 0x29], 1
je 0x111f246
sub word [esi + 0x34], 0x1e
test eax, eax
je 0x111fb54
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x111ef00
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + 0x2c]
cmp al, 1
jbe 0x1121881
mov edx, dword [esp + 0x164]
test edx, edx
je 0x1121881
mov eax, dword [esp + 0x70]
test word [esp + 0x7a], 0x2400
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
mov eax, dword [eax + 0x50]
jne 0x111f2a9
test ah, 1
je 0x11229f6
test eax, 0x80000
je 0x11226ed
mov esi, dword [esp + 0x40]
mov eax, dword [esi]
movzx edx, word [esi + 0x34]
add word [eax + 0x9c], dx
test byte [esp + 0x7a], 4
je 0x111f2fb
mov ebx, dword [esi + 0x348]
mov eax, dword [ebx + 0x2c]
test ah, 0x10
je 0x1121f20
mov edi, dword [esp + 0x48]
mov ecx, 1
mov edx, dword [edi + 0x18]
mov edi, dword [esp + 0x40]
mov byte [edi + 0x2e], cl
test byte [edx + 0x1c], 0x80
je 0x112283e
mov eax, dword [esp + 0x7c]
test eax, eax
jle 0x1122ec3
mov edi, dword [esp + 0x40]
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x68]
shl eax, 5
lea eax, [edi + eax + 0x2f8]
mov dword [esp + 0x18], eax
movzx edi, byte [ebp + 0x3c]
mov esi, dword [esp + 0x48]
lea eax, [edi*8]
mov dword [esp + 0x10], eax
add eax, edi
mov esi, dword [esi + eax*8 + 0x18]
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x112355a
mov eax, dword [esp + 0x70]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
cmp edx, dword [ecx + 0xc]
je 0x111f366
lea esi, [esi]
add ebx, 1
mov eax, ebx
shl eax, 4
cmp edx, dword [ecx + eax + 0xc]
jne 0x111f358
mov eax, dword [ebp + 0x50]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 8], eax
test dh, 0x40
jne 0x111f450
movzx ecx, byte [esi + 0x2b]
cmp cl, 2
je 0x111f450
test ah, 4
jne 0x11215aa
cmp cl, 1
je 0x111f450
test byte [esp + 8], 0x40
jne 0x111f3ad
test byte [esp + 0x7a], 0x20
je 0x111f3c2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
add ecx, edi
test byte [eax + ecx*8 + 0x2c], 0x50
je 0x1121e04
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
add eax, edi
cmp byte [ecx + 0x2e], 0
mov edx, dword [edx + eax*8 + 0x34]
mov eax, 0x70
je 0x111f3e7
mov dword [ecx + 0x14], edx
mov eax, 0x71
sub esp, 8
mov ecx, ebx
push eax
push esi
mov eax, dword [esp + 0x34]
call fcn.010d12b0
mov eax, dword [esp + 0x50]
add esp, 0x10
cmp byte [eax + 0x2e], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
mov dword [esp + 8], eax
jne 0x111f42f
cmp word [esi + 0x22], 0x3f
jg 0x111f42f
mov edx, dword [esi + 0x1c]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
je 0x1122a18
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x6c]
test edx, edx
jle 0x111f450
mov eax, dword [ecx + 0x68]
lea edx, [edx + edx*4]
movzx ecx, byte [esp + 0x58]
lea edx, [eax + edx*4]
mov word [edx - 0x12], cx
lea esi, [esi]
test dword [esp + 8], 0x200
je 0x111f50a
mov edx, dword [esi + 0x1c]
mov eax, dword [esp + 0x20]
and edx, 0x80
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
je 0x111f487
movzx eax, byte [eax + 0x38]
mov byte [esp + 0x28], al
and eax, 3
cmp al, 2
je 0x1121601
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2e], 0
jne 0x1121420
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x11207fb
mov eax, dword [esp + 0x170]
mov edx, 0x65
mov dword [esp + 0x28], eax
test byte [esp + 0x7a], 0x20
je 0x11207fb
mov ecx, dword [esp + 0x28]
sub esp, 8
mov dword [ebp + 8], ecx
push ebx
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
call fcn.010d1250
mov ecx, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [ecx + 0x2c]
test al, 0xf
je 0x111f50a
test eax, 0x188002
jne 0x111f50a
mov ecx, dword [esp + 0x40]
test byte [ecx + 0x28], 1
je 0x1122800
test ebx, ebx
js 0x111f545
mov edx, dword [esp + 0x24]
mov ecx, ebx
mov eax, dword [edx + 0x80]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x5c]
mov dword [esp + 8], edx
mov edx, 1
shl edx, cl
mov ecx, edx
mov edx, dword [esp + 8]
test edx, ecx
jne 0x111f545
or edx, ecx
mov dword [eax + 0x5c], edx
cmp ebx, 1
je 0x1121bfb
mov eax, dword [esp + 0x10]
add eax, edi
mov edi, dword [esp + 0x48]
test byte [edi + eax*8 + 0x2c], 0x10
jne 0x111fd71
mov eax, dword [esp + 0x18]
add ebp, 0x60
cmp ebp, eax
jne 0x111f320
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x57], 0
jne 0x111ef00
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
lea esi, [esi]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x80], eax
test eax, eax
jne 0x111ef00
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x48]
movzx ebx, byte [esi + 0x3c]
mov eax, dword [esi + 0x50]
lea esi, [ebx*8]
mov edi, dword [eax + 0x2c]
lea eax, [esi + ebx]
lea eax, [edx + eax*8]
movzx edx, byte [eax + 0x30]
test dl, 0x10
je 0x111f5f3
and edx, 8
je 0x112075e
sub esp, 8
mov ecx, dword [eax + 0x24]
mov edx, 0xa
push 0
push dword [eax + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
test edi, 0x404000
je 0x111f634
and edi, 0x4000
je 0x111fd4d
sub esp, 4
push dword [esp + 0xc]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
call fcn.0111df60
add esp, 0x10
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x57], 0
jne 0x111ef00
sub esp, 0xc
movzx eax, word [esp + 0x86]
push eax
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, edi
mov eax, esi
call fcn.010c7710
mov eax, dword [esp + 0x3c]
mov ebp, dword [edi + 0x50]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x20], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, edi
movzx eax, byte [eax + 0x3c]
mov edi, dword [esi + 4]
lea edx, [eax*8]
mov dword [esp + 0x78], eax
mov ebx, eax
add eax, edx
mov dword [esp + 0x40], edi
mov eax, dword [edi + eax*8 + 0x34]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x70], eax
add esp, 0x10
cmp eax, dword [esi + 0x1f8]
je 0x1121273
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x1f4]
cmp eax, 1
jle 0x111fd40
mov edx, dword [esp + 0x60]
mov ecx, 1
jmp 0x111f6d3
add ecx, 1
cmp ecx, eax
je 0x111fd40
cmp edx, dword [esi + ecx*4 + 0x1f8]
jne 0x111f6c8
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
not eax
not edx
and eax, dword [esp + 0x50]
and edx, dword [esp + 0x54]
mov edi, dword [esp + 8]
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 0x5c], edx
mov edx, dword [eax + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x38]
lea esi, [eax - 1]
sub eax, 2
mov dword [edi + 0x10], esi
mov dword [edi + 0xc], esi
mov dword [esp + 0x44], eax
mov dword [edx + 0x38], eax
mov dword [edi + 0x18], eax
test bl, bl
je 0x111f74f
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
add eax, edi
mov edi, dword [esp + 0x30]
test byte [edi + eax*8 + 0x2c], 8
jne 0x1121283
mov edx, dword [esp + 0x64]
test edx, edx
je 0x1121f68
mov eax, dword [esp + 8]
jmp 0x111f777
mov ecx, dword [eax + 0x38]
test ecx, ecx
jne 0x111f77d
sub eax, 0x60
sub edx, 1
je 0x111f77d
mov ebx, dword [eax]
test ebx, ebx
je 0x111f768
lea eax, [edx + edx*2]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x68]
shl eax, 5
mov edi, dword [edi + eax + 0x304]
mov eax, dword [esp + 0x6c]
add eax, ebx
mov ebx, dword [esp + 0x30]
lea eax, [ebx + eax*8]
movzx ebx, byte [eax + 0x30]
mov edx, ebx
and edx, 0x20
mov byte [esp + 0x20], dl
jne 0x111fe95
mov edx, dword [esp + 0x14]
movzx ecx, byte [esp + 0x64]
mov eax, dword [esp + 0x10]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x111f7cb
mov eax, edx
and eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x2c]
test ah, 4
jne 0x1120e87
test ah, 1
je 0x112085d
test al, 5
jne 0x1121804
mov edx, eax
not edx
and edx, 0x102
jne 0x112085d
mov edx, eax
and edx, 0x10
test al, 0x20
jne 0x11218a5
test edx, edx
jne 0x1121ef3
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1122864
sub esp, 8
mov edx, 0x20
push 0
push edi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, dword [eax + 0x6c]
mov eax, 0x27
sub eax, edi
mov edi, dword [esp + 8]
mov byte [edi + 0x3d], al
mov eax, dword [esp + 0x60]
mov dword [edi + 0x44], edx
mov dword [edi + 0x40], eax
jmp 0x111fef9
mov dword [esp + 0x20], edi
xor eax, eax
xor edx, edx
jmp 0x111f069
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
add ebp, 0x48
shl eax, cl
shl edx, cl
or esi, eax
mov eax, dword [esp + 0x10]
or edi, edx
cmp ebp, eax
jae 0x111f190
mov eax, dword [ebp + 0x2c]
cmp dword [esp + 0x20], eax
je 0x111f8ec
mov edx, dword [ebx + 0x1f4]
cmp edx, 1
jle 0x111f8d8
mov ecx, 1
jmp 0x111f8c7
add ecx, 1
cmp ecx, edx
je 0x111f8d8
cmp eax, dword [ebx + ecx*4 + 0x1f8]
jne 0x111f8c0
jmp 0x111f878
mov eax, dword [esp + 0x10]
add ebp, 0x48
cmp ebp, eax
jb 0x111f171
jmp 0x111f190
mov eax, dword [esp + 0x10]
add ebp, 0x48
or esi, 1
cmp ebp, eax
jb 0x111f89c
jmp 0x111f190
sub esp, 8
push ebp
push edi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0xd8]
call fcn.0111af60
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 8]
or dword [esp + 0x4c], ecx
or dword [esp + 0x48], edx
add esp, 0x10
test eax, eax
je 0x111eea3
jmp 0x111f0e2
xor esi, esi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], esi
lea ebp, [eax + 0x18]
lea esi, cs:[esi]
nop
mov esi, dword [esp + 0x40]
mov edx, dword [ebp + 0x1c]
mov eax, dword [esi + 0x1f4]
lea ecx, [eax + 1]
mov dword [esi + 0x1f4], ecx
mov dword [esi + eax*4 + 0x1f8], edx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
lea eax, [eax + eax*8]
test byte [esi + eax*8 + 0x30], 4
je 0x111faf0
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x20], eax
test eax, eax
je 0x111faf0
mov eax, dword [eax]
mov dword [esp + 8], 0
xor edi, edi
test eax, eax
jle 0x111faf0
lea esi, [esi]
mov eax, dword [esp + 0x10]
movsx edx, word [eax + 0x22]
cmp edi, edx
jge 0x111fb10
mov ecx, dword [eax + 4]
mov ebx, edi
jmp 0x111f9db
add ebx, 1
cmp ebx, edx
je 0x111fb10
mov eax, ebx
shl eax, 4
test byte [ecx + eax + 0xe], 2
je 0x111f9d0
mov eax, dword [esp + 0x24]
mov edx, 0x34
xor ecx, ecx
mov eax, dword [eax]
call fcn.010b7ad0
mov esi, eax
test eax, eax
je 0x111faf0
lea edi, [eax + 5]
lea ecx, [eax + 1]
mov dword [eax + 1], 0
and edi, 0xfffffffc
mov dword [eax + 0x30], 0
xor eax, eax
sub ecx, edi
add ecx, 0x33
shr ecx, 2
rep stosd dword es:[edi], eax
mov byte [esi], 0xa7
mov edi, 0xffffffff
mov word [esi + 0x22], di
lea edi, [ebx + 1]
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x18], 1
mov word [esi + 0x20], bx
mov dword [esi + 0x1c], eax
mov eax, ebx
mov dword [esi + 0x2c], edx
call fcn.010a2960
or dword [ebp + 0x28], eax
mov eax, dword [esp + 8]
or dword [ebp + 0x2c], edx
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 8]
test edx, edx
je 0x111fa84
mov eax, dword [esp + 0x24]
sub esp, 0xc
xor ecx, ecx
mov eax, dword [eax]
push 0
call fcn.010bb290
add esp, 0x10
mov edx, eax
sub esp, 0xc
mov ecx, edx
mov edx, 0xad
push 0
mov ebx, dword [esp + 0x34]
mov eax, ebx
call fcn.010cd1d0
mov ecx, esi
mov edx, 0x35
mov dword [esp], eax
mov eax, ebx
call fcn.010cd1d0
add esp, 0x10
xor ecx, ecx
test byte [ebp + 0x14], 0x18
sete cl
mov edx, dword [ebp + 0x1c]
mov ebx, eax
add ecx, 1
call fcn.0109ace0
mov eax, dword [esp + 0x4c]
mov ecx, 1
mov edx, ebx
call fcn.010b8f00
mov esi, dword [esp + 0x20]
add dword [esp + 8], 1
mov eax, dword [esp + 8]
cmp eax, dword [esi]
jl 0x111f9b0
lea esi, [esi]
mov esi, dword [esp + 0x48]
add dword [esp + 0x18], 1
add ebp, 0x48
mov eax, dword [esp + 0x18]
cmp dword [esi], eax
jg 0x111f950
jmp 0x111ece0
push dword [esp + 8]
mov eax, dword [esp + 0x14]
push dword [eax]
push 0x1430a50
push dword [esp + 0x30]
call fcn.010b78f0
add esp, 0x10
jmp 0x111faf0
test eax, eax
je 0x111ef1b
mov edx, eax
mov eax, dword [esp + 0x70]
call fcn.010a7e90
jmp 0x111ef1b
mov eax, dword [esp + 0x40]
test byte [eax + 0x29], 1
je 0x111fb54
sub word [eax + 0x34], 0x1e
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 8], eax
and eax, 0x1000
or eax, edx
je 0x111f24e
mov eax, dword [esp + 0x40]
call fcn.0109b4a0
jmp 0x111f24e
mov eax, dword [esp + 0x48]
cmp dword [eax], 1
jne 0x111fd17
mov ebp, dword [eax + 0x34]
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 0x164]
mov dword [esp + 8], ebp
mov esi, dword [eax]
test esi, esi
jle 0x111fbf3
lea ecx, [eax + 8]
xor ebx, ebx
mov eax, dword [ecx]
test eax, eax
jne 0x111fbc2
jmp 0x111fbe9
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x111fbe9
mov edi, dword [eax + 4]
test edi, 0x82000
je 0x1122b1c
and edi, 0x80000
jne 0x111fbb8
cmp byte [eax], 0x71
jne 0x1122b1c
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x111fbc2
add ebx, 1
add ecx, 0x14
cmp ebx, esi
jne 0x111fbac
mov edi, dword [edx + 8]
test edi, edi
je 0x111fd17
mov esi, dword [esp + 0x164]
jmp 0x111fc1b
mov edi, dword [edi + 0x14]
test edi, edi
je 0x111fd17
cmp byte [edi + 0x36], 0
je 0x111fc10
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x111fc10
cmp word [edi + 0x32], 0
je 0x111fcef
xor ebp, ebp
jmp 0x111fc4f
movzx eax, word [edi + 0x32]
add ebp, 1
cmp ebp, eax
jge 0x111fce7
push edi
mov ecx, ebp
push 2
push 0xffffffffffffffff
push 0xffffffffffffffff
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
call fcn.010e1850
add esp, 0x10
test eax, eax
jne 0x111fc40
mov eax, dword [edi + 0x20]
mov eax, dword [eax + ebp*4]
mov dword [esp + 0x18], eax
mov eax, dword [esi]
test eax, eax
jle 0x1122b13
lea eax, [ebp + ebp]
mov dword [esp + 0x20], ebp
xor ebx, ebx
mov dword [esp + 0x10], eax
nop
lea eax, [ebx + ebx*4]
mov ecx, dword [esi + eax*4 + 8]
mov eax, ecx
test ecx, ecx
jne 0x111fcaa
jmp 0x111fcd8
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x111fcd8
mov edx, dword [eax + 4]
test edx, 0x82000
je 0x1122a78
and edx, 0x80000
jne 0x111fca0
cmp byte [eax], 0x71
jne 0x1122a78
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x111fcaa
lea esi, [esi]
add ebx, 1
cmp ebx, dword [esi]
jl 0x111fc90
mov ebp, dword [esp + 0x20]
movzx eax, word [edi + 0x32]
cmp ebp, eax
jne 0x111fc10
mov eax, dword [esp + 0x40]
mov byte [eax + 0x2f], 1
jmp 0x111ef5a
sub esp, 4
push 0x1430a3d
push 0
push dword [esp + 0x30]
call fcn.010d76a0
add esp, 0x10
jmp 0x111ece0
mov eax, dword [esp + 0x160]
test eax, eax
jne 0x111ef5a
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x164]
or word [eax + 0x28], 0x80
mov dword [eax + 8], edi
jmp 0x111ef5a
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x111f6f9
sub esp, 8
push dword [esp + 0x5c]
push dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
call fcn.0112bac0
add esp, 0x10
jmp 0x111f626
mov edi, dword [esp + 0x40]
mov edx, 0x24
xor ecx, ecx
mov eax, dword [edi]
mov eax, dword [eax]
call fcn.010b7ad0
mov ebx, eax
test eax, eax
je 0x1121c34
mov eax, dword [edi + 0x44]
mov dword [ebx + 8], 0x14
sub esp, 8
mov ecx, 0x10000
mov dword [ebx + 0xc], 0
mov dword [ebx], eax
lea eax, [ebx + 0x10]
mov dword [edi + 0x44], ebx
mov edi, dword [esp + 0x2c]
mov dword [ebp + 0x38], eax
mov eax, dword [edi + 0x28]
lea edx, [eax + 1]
mov dword [edi + 0x28], edx
mov edx, 0x4d
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x10], eax
add eax, 1
mov dword [edi + 0x2c], eax
mov dword [ebx + 0x14], eax
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov edx, dword [edi + 0x2c]
lea eax, [edx + 1]
mov dword [esp + 0x18], edx
mov dword [edi + 0x2c], eax
mov dword [ebx + 0x18], eax
pop edx
mov edx, 0x4b
pop ecx
push 0
xor ecx, ecx
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
test byte [esi + 0x1c], 0x80
jne 0x11217b0
sub esp, 8
mov ecx, dword [ebx + 0x10]
mov edx, 0x76
push 0
push 1
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.010c6f00
mov eax, dword [esp + 0x34]
mov edx, 1
xor ecx, ecx
mov eax, dword [eax]
call fcn.010b8dc0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x111fe7c
mov dword [eax + 0x14], 0
mov eax, dword [eax + 0x10]
mov byte [eax], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x1123147
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4 - 0x14]
mov byte [eax + 1], 0xf8
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x20]
and dword [eax + 0x2c], 0xffffffbf
mov eax, dword [esp + 0x40]
mov byte [eax + 0x2d], 0
mov byte [eax + 0x2f], 3
jmp 0x111f55a
sub esp, 8
mov ebx, dword [eax + 0x24]
push dword [eax + 0x20]
mov edx, 0xb
push 0
mov edi, dword [esp + 0x3c]
mov ecx, ebx
mov eax, edi
call fcn.010c6f00
mov edx, dword [edi + 0x6c]
add esp, 0x10
cmp edx, dword [edi + 0x70]
jge 0x1121bd2
mov edi, dword [esp + 0x2c]
lea eax, [edx + 1]
mov ecx, dword [edi + 0x68]
mov dword [edi + 0x6c], eax
lea eax, [edx + edx*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0xc
mov eax, dword [esp + 8]
mov dword [eax + 0x44], edx
mov byte [eax + 0x3d], 9
mov dword [esp + 0x74], 0
mov dword [esp + 0x28], 2
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
add eax, esi
mov esi, dword [esp + 0x40]
shl eax, 3
mov ebp, dword [esi + 0x5c]
mov edi, dword [esi + 0x68]
mov dword [esp + 0x34], eax
test ebp, ebp
jle 0x1120062
lea esi, [esi]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], esi
lea esi, [esi]
movzx eax, word [edi + 0xa]
test al, 6
jne 0x1120030
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x1c], ecx
mov ebx, ecx
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x18], edx
and ebx, dword [edi + 0x2c]
and ecx, edx
mov edx, ecx
or edx, ebx
jne 0x11204e0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov ebx, dword [edi]
movzx edx, byte [edx + ecx + 0x2c]
mov dword [esp + 0x10], ebx
test dl, 0x58
je 0x1120410
mov ecx, dword [ebx + 4]
test cl, 3
je 0x1120030
and edx, 8
je 0x111ffa8
and ecx, 1
je 0x1120030
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov edx, dword [ebx + 0x24]
cmp edx, dword [esi + 0x1f8]
je 0x1120620
mov ecx, dword [esi + 0x1f4]
cmp ecx, 1
jle 0x1120594
mov ebx, 1
jmp 0x111ffe3
add ebx, 1
cmp ebx, ecx
je 0x1120590
cmp edx, dword [esi + ebx*4 + 0x1f8]
jne 0x111ffd8
mov ecx, ebx
mov dword [esp + 0x20], esi
mov ebx, 1
xor esi, esi
shld esi, ebx, cl
xor edx, edx
shl ebx, cl
test cl, 0x20
cmovne esi, ebx
cmovne ebx, edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x5c], esi
and ecx, dword [esp + 0x58]
and ebx, dword [esp + 0x5c]
mov edx, ecx
or edx, ebx
je 0x1120594
lea esi, cs:[esi]
add edi, 0x30
sub ebp, 1
jne 0x111ff40
mov edi, dword [esp + 0x38]
test edi, edi
jle 0x1120e1b
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebp, dword [esi + 0x5c]
mov edi, dword [esi + 0x68]
mov dword [esp + 0x28], eax
test ebp, ebp
jg 0x111ff30
mov ebp, edi
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x68]
mov ebx, dword [eax + 0x64]
mov eax, dword [esp + 0x6c]
add eax, esi
mov esi, dword [esp + 0x60]
lea edi, [eax*8]
test ebx, ebx
jle 0x11201e4
lea esi, cs:[esi]
test byte [ebp + 0xa], 6
jne 0x11201d8
movzx eax, word [ebp + 0xc]
test al, 0x82
je 0x11201d8
test ah, 8
je 0x11201d8
cmp esi, dword [ebp + 0x14]
jne 0x11201d8
mov eax, dword [esp + 0x30]
test byte [eax + edi + 0x2c], 0x58
jne 0x11201d8
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x18]
mov edx, esi
mov dword [esp + 0x10], eax
push 0
push 0x83
push dword [esp + 0x5c]
push dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
call fcn.010e1850
add esp, 0x10
test eax, eax
je 0x11201d8
test byte [eax + 0xa], 4
jne 0x11201d8
mov edx, dword [eax]
test byte [eax + 0xc], 1
je 0x112011d
test byte [edx + 5], 0x10
je 0x112011d
mov ecx, dword [edx + 0x14]
mov ecx, dword [ecx + 0x1c]
cmp dword [ecx], 1
jg 0x11201d8
mov ecx, dword [edx]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe0], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0xe4], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0xe8], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0xec], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0xf0], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0xf4], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xf8], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xfc], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x100], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x104], ecx
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x108], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x10c], ecx
mov edx, dword [edx + 0x30]
mov dword [esp + 0x110], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xec], edx
push 0x10
push dword [esp + 0x48]
lea edx, [esp + 0xe8]
push edx
push dword [esp + 0x30]
call fcn.0111cf40
mov eax, dword [esp + 0x30]
add esp, 0x10
or word [eax + 0xa], 4
lea esi, cs:[esi]
add ebp, 0x30
sub ebx, 1
jne 0x1120090
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x20], eax
test eax, eax
je 0x112065c
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x40]
movzx eax, byte [eax + 0x3c]
lea eax, [eax + eax*8]
shl eax, 3
add eax, dword [esi + 4]
mov ebp, dword [eax + 0x18]
test byte [ebp + 0x1c], 0x80
je 0x1120e27
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x1120233
jmp 0x112369d
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1184f8b
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x1120228
movzx esi, word [ebx + 0x32]
lea eax, [esi + 1]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], eax
mov edx, eax
mov eax, dword [esp + 0x24]
call fcn.010a0170
mov dword [esp + 0x18], eax
test esi, esi
je 0x1122158
add eax, 1
mov dword [esp + 0x10], ebp
mov dword [esp + 0x28], eax
mov edi, eax
lea eax, [esi + esi]
xor esi, esi
mov ebp, eax
lea esi, cs:[esi]
mov eax, dword [ebx + 4]
sub esp, 8
push edi
add edi, 1
movsx eax, word [eax + esi]
add esi, 2
push eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.0112b660
add esp, 0x10
cmp esi, ebp
jne 0x1120280
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x11212e3
mov esi, dword [esp + 0x2c]
lea eax, [ebx + 1]
mov edx, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
lea eax, [ebx + ebx*4]
mov esi, dword [esp + 0x28]
lea eax, [edx + eax*4]
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0x10], esi
mov dword [eax], 0xfd1d
sub esp, 8
mov edx, 0x61
push dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
push ebp
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov eax, esi
mov ecx, edi
call fcn.010c6f00
mov eax, dword [esp + 0x30]
add esp, 0xc
mov edx, 0x8a
mov ecx, dword [eax]
push ebp
mov eax, esi
push edi
push dword [esp + 0x24]
call fcn.010c7d80
mov eax, dword [esp + 0x30]
add esp, 0xc
mov edx, 0xb7
mov ecx, dword [eax + 4]
push ebp
mov eax, esi
push edi
push 0
call fcn.010c7d80
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x1120364
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov esi, 0x10
lea edx, [ecx + edx*4]
mov word [edx - 0x12], si
mov esi, dword [esp + 0x2c]
mov edx, 0x14bebec
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x112037e
mov edx, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
cmp dword [esp + 0x38], 1
mov dword [edx + 8], eax
je 0x11212b4
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
cmp dword [esi + 0x1c], edi
jge 0x11203a3
mov dword [esi + 0x1c], edi
mov edi, dword [esp + 0x18]
mov dword [esi + 0x20], edi
mov esi, dword [esp + 8]
mov edx, dword [esi]
test edx, edx
jne 0x1120671
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x38]
test ebx, ebx
jne 0x112069b
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x40]
add dword [esp + 0x64], 1
mov eax, dword [esi + 0x18]
add esi, 0x60
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x64]
cmp eax, esi
jne 0x111f590
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov edi, dword [esp + 0x40]
mov dword [edi + 0x3c], eax
jmp 0x111ef23
cmp dword [esp + 0x28], 1
je 0x1120510
cmp dword [esp + 0x28], 2
je 0x1120566
test ah, 2
je 0x11204f0
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x11204f0
mov ecx, edx
and edx, 1
lea eax, [edx + 0x10]
shr ecx, 1
mov esi, eax
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x1120640
mov edx, dword [esp + 0x2c]
lea eax, [ebx + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov edx, esi
mov byte [eax], dl
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
push 0x10
push dword [esp + 0x48]
push dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.0111cf40
add esp, 0x10
test ebx, ebx
je 0x11204cd
mov esi, dword [esp + 0x2c]
mov eax, 0x14bebec
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x11204ca
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
or word [edi + 0xa], 4
jmp 0x1120030
mov eax, dword [esp + 0x20]
or byte [eax + 0x30], 2
jmp 0x1120030
push 0x10
push dword [esp + 0x48]
push dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.0111cf40
add esp, 0x10
jmp 0x11204cd
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0xe0]
xor edx, edx
mov ebx, dword [eax + 4]
xor eax, eax
mov dword [ecx + eax], edx
mov dword [ecx + eax + 4], edx
add eax, 8
cmp eax, 0x18
jb 0x1120526
mov dword [esp + 0xc4], ebx
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xe4], 0x109f5e0
test ebx, ebx
jne 0x112062e
movzx eax, word [edi + 0xa]
test ah, 0x10
je 0x1120426
mov ebx, dword [esp + 0x38]
mov eax, 3
test ebx, ebx
cmovne eax, ebx
mov dword [esp + 0x38], eax
jmp 0x1120030
mov dword [esp + 0x20], esi
cmp dword [esp + 0x28], 1
jne 0x112041b
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0xe0]
xor edx, edx
mov ebx, dword [eax + 4]
xor eax, eax
mov dword [ecx + eax], edx
mov dword [ecx + eax + 4], edx
add eax, 8
cmp eax, 0x18
jb 0x11205b5
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xe4], 0x109f5e0
mov dword [esp + 0xf8], eax
mov edx, dword [esp + 0x10]
mov eax, ecx
call fcn.010b3350
cmp word [esp + 0xf4], 0
je 0x1120562
mov dword [esp + 0x38], 2
jmp 0x1120030
mov ecx, dword [esp + 0x18]
xor ebx, ebx
and ecx, 1
jmp 0x1120021
lea eax, [esp + 0xc0]
mov dword [esp + 0xf8], eax
jmp 0x11205f3
sub esp, 8
mov edx, esi
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
mov ebx, eax
jmp 0x1120493
mov eax, dword [esp + 8]
mov edx, dword [eax]
test edx, edx
je 0x11203c4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov esi, dword [esp + 8]
sub esp, 8
mov ecx, 1
mov dword [esi + 0x1c], eax
push 0
push edx
mov eax, dword [esp + 0x3c]
mov edx, 0x47
call fcn.010c6f00
mov ebx, dword [esi + 0x38]
add esp, 0x10
test ebx, ebx
je 0x11206c6
sub esp, 8
xor ecx, ecx
mov edx, 0x4a
push 0
push dword [ebx + 8]
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.010c6f00
mov eax, dword [esi + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x34]
add esp, 0x10
add byte [eax + 0x1a], 1
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov ebx, dword [edi + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x54], edx
test eax, eax
jle 0x11203d2
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x80]
add ebp, eax
shl ebp, 3
nop
test byte [ebx + 0xa], 6
jne 0x112074e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
and eax, dword [ebx + 0x28]
and edx, dword [ebx + 0x2c]
or eax, edx
jne 0x112074e
mov eax, dword [esp + 0x30]
test byte [eax + ebp + 0x2c], 0x40
jne 0x112074e
push 0x10
push dword [esp + 0x48]
push dword [ebx]
push dword [esp + 0x30]
call fcn.0111cf40
mov eax, dword [esp + 0x18]
or word [ebx + 0xa], 4
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
add esp, 0x10
add esi, 1
add ebx, 0x30
cmp esi, dword [edi + 0x64]
jl 0x1120700
jmp 0x11203d2
mov eax, dword [esp + 0x2c]
mov ebp, dword [eax + 0x6c]
cmp ebp, dword [eax + 0x70]
jge 0x1121c73
mov edx, dword [esp + 0x2c]
lea eax, [ebp + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*4]
mov dword [eax], 0xf
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x48]
add esi, ebx
sub esp, 8
mov edx, 0xa
lea eax, [eax + esi*8]
mov ecx, dword [eax + 0x24]
push 0
push dword [eax + 0x20]
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.010c6f00
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [esi + 0x6c]
mov eax, 0x14bebec
cmp byte [ecx + 0x57], 0
jne 0x11207e5
mov eax, dword [esi + 0x68]
lea ecx, [ebp + ebp*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x111f5f3
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2e], 0
jne 0x1121420
mov edx, dword [esp + 0x48]
lea eax, [edi + edi*8]
lea eax, [edx + eax*8 + 8]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x28], eax
add eax, 1
mov dword [edx + 0x28], eax
mov eax, dword [esp + 8]
test byte [eax + 0x39], 0x10
je 0x1120833
mov eax, dword [esp + 0x70]
test byte [eax + 0x53], 1
je 0x1121de4
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x1120853
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
add eax, edi
test byte [edx + eax*8 + 0x2c], 0x10
je 0x1121c05
mov edx, 0x70
jmp 0x111f4bf
test ah, 2
je 0x1121308
movzx ebx, word [ebp + 0x1c]
movzx edi, word [ebp + 0x18]
movzx esi, word [ebp + 0x1a]
mov word [esp + 0xa4], bx
mov ebx, dword [ebp + 0x20]
mov word [esp + 0x88], di
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 8]
mov word [esp + 0xa0], si
mov ebx, dword [ebx + 8]
mov dword [esp + 0x10], ebx
movzx ebx, di
test al, 0x20
je 0x1121bc1
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x34], esi
lea edx, [ebx + 1]
mov edi, dword [ecx + ebx*4]
test al, 0x10
je 0x1121a68
mov ecx, dword [ebp + 0x38]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esp + 0x34]
movzx edx, word [esp + 0xa4]
mov dword [esp + 0x38], esi
cmp ecx, edx
cmovge edx, ecx
mov dword [esp + 0x34], edx
test byte [esi + 0xb], 1
jne 0x11230d3
mov byte [esp + 0x84], 0
test edi, edi
je 0x11230a6
and eax, 0x80030
mov dword [esp + 0x58], 0
cmp eax, 0x80000
je 0x1121d73
mov eax, dword [esp + 0x74]
movzx esi, word [esp + 0x88]
cmp si, word [eax + 0x34]
jae 0x1120970
mov eax, dword [eax + 0x1c]
cmp byte [eax + ebx], 0
sete al
movzx eax, al
cmp dword [esp + 0x28], eax
jne 0x1120970
movzx edx, byte [esp + 0x84]
movzx eax, byte [esp + 0xa0]
mov byte [esp + 0x84], 0
movzx esi, word [esp + 0xa4]
mov byte [esp + 0x20], dl
mov edx, edi
mov edi, dword [esp + 0x38]
mov word [esp + 0xa0], si
mov dword [esp + 0x38], edx
mov word [esp + 0xa4], ax
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x1120982
test byte [ebp + 0x2e], 0x10
jne 0x1122d9e
sub esp, 8
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
call fcn.0112d320
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xa0], eax
add esp, 0x10
cmp word [esp + 0xa4], 0
je 0x11209ca
test eax, eax
jne 0x11227d6
mov dword [esp + 0x98], 0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 8]
test edx, edx
je 0x1121a59
mov eax, dword [eax + 0x28]
mov dword [esp + 0x8c], eax
test edi, edi
je 0x1121ccb
test byte [edi + 0xc], 0x28
jne 0x1121caf
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1122f34
mov eax, dword [esp + 0x38]
test byte [eax + 0xc], 0x28
setne al
movzx eax, al
mov dword [esp + 0x94], eax
mov eax, dword [edi]
mov esi, dword [esp + 0x34]
sub esp, 0xc
mov edx, dword [eax + 0x10]
lea ecx, [ebx + esi]
movzx eax, word [esp + 0xac]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x90], eax
push eax
mov eax, dword [esp + 0x34]
call fcn.0112c5e0
movzx ecx, word [edi + 0xa]
add esp, 0x10
test ch, 1
je 0x1120aac
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov edx, dword [eax + 0x6c]
mov eax, 0x14bebec
cmp byte [esi + 0x57], 0
je 0x11228f3
mov esi, dword [esp + 0xa8]
mov edx, esi
shr edx, 1
mov dword [eax + 0xc], edx
mov edx, esi
and edx, 1
mov word [eax + 2], dx
and ecx, 0x80
je 0x1122d61
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1120ad9
lea ecx, [eax + ebx]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x9c]
call fcn.010a8ce0
mov eax, dword [esp + 0x84]
add eax, ebx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x9c]
movzx eax, byte [eax]
cmp al, 0xb0
jne 0x1120b02
mov eax, dword [esp + 0x9c]
movzx eax, byte [eax + 2]
cmp al, 0xb1
je 0x1122fab
cmp al, 0x8a
je 0x1122f69
mov eax, dword [esp + 8]
mov edx, edi
call fcn.0109b000
mov byte [esp + 0x9c], 1
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x24]
sub esp, 0xc
mov eax, dword [eax + 8]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x44]
call fcn.010c93b0
movzx eax, word [ebp + 0x32]
add esp, 0x10
test ax, ax
jne 0x1121c53
mov eax, 4
mov edi, dword [esp + 0x88]
lea edi, [eax + edi*2]
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x1121fdf
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x1122003
mov eax, dword [esp + 0x28]
add eax, 0x1437ea4
mov dword [esp + 0xac], eax
movzx eax, byte [eax + edi]
mov dword [esp + 0xa8], eax
test byte [ebp + 0x2e], 0x10
je 0x1120bb5
cmp eax, 0x17
je 0x1123421
sub esp, 4
push dword [esp + 0x88]
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
mov esi, dword [esp + 0x68]
add esp, 0x10
test esi, esi
jne 0x1121a7d
mov ecx, dword [esp + 0x38]
xor edi, edi
test ecx, ecx
je 0x1121e59
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
sub esp, 0xc
mov eax, dword [eax]
lea ecx, [ebx + esi]
mov dword [esp + 0x94], ecx
mov edx, dword [eax + 0x10]
movzx eax, word [esp + 0xb0]
mov dword [esp + 0x90], edx
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [esp + 0x34]
call fcn.0112c5e0
mov eax, dword [esp + 0x48]
add esp, 0x10
movzx ecx, word [eax + 0xa]
test ch, 1
je 0x1120c7f
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov edx, dword [eax + 0x6c]
mov eax, 0x14bebec
cmp byte [esi + 0x57], 0
je 0x11228e0
mov esi, dword [esp + 0x9c]
mov edx, esi
shr edx, 1
mov dword [eax + 0xc], edx
mov edx, esi
and edx, 1
mov word [eax + 2], dx
and ecx, 0x80
je 0x1122dbf
mov eax, dword [esp + 0x98]
test eax, eax
je 0x1120ccc
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x84]
call fcn.010a8ce0
mov esi, dword [esp + 0x24]
sub esp, 0xc
mov eax, dword [esi + 8]
push dword [esp + 0xa4]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x98]
call fcn.010c93b0
add esp, 0x10
mov eax, dword [esp + 0x20]
add eax, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x84]
movzx eax, byte [eax]
cmp al, 0xb0
jne 0x1120cef
mov eax, dword [esp + 0x84]
movzx eax, byte [eax + 2]
cmp al, 0xb1
je 0x1122f44
cmp al, 0x8a
je 0x1123170
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 8]
call fcn.0109b000
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1120d27
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x18]
call fcn.010a8980
mov esi, dword [esp + 0x98]
test esi, esi
je 0x1120d42
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x18]
call fcn.010a8980
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x44], eax
mov edx, eax
test ecx, ecx
jne 0x1121b3f
mov edi, dword [esp + 0x58]
test edi, edi
jne 0x1121e98
mov eax, dword [ebp + 0x2c]
test eax, 0x40000
jne 0x1121dc2
test al, 0x40
je 0x11214ba
mov eax, dword [esp + 0x40]
test word [eax + 0x28], 0x1020
jne 0x11214ba
mov esi, 1
mov eax, dword [esp + 8]
mov ebx, dword [eax]
test ebx, ebx
jne 0x1120db7
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x1120db7
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
call fcn.010e0f60
mov ebx, dword [ebp + 0x2c]
mov eax, 0xffffffbb
test bh, 0x10
jne 0x1120de4
mov edi, dword [esp + 8]
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x1120ddb
mov edx, dword [esp + 0x58]
test edx, edx
je 0x1122884
mov eax, 0x27
sub al, byte [esp + 0x28]
mov edi, dword [esp + 8]
mov byte [edi + 0x3d], al
mov eax, dword [esp + 0x10]
mov dword [edi + 0x40], eax
mov eax, ebx
shr eax, 0x10
and eax, 1
and ebx, 0xf
mov byte [edi + 0x3e], al
jne 0x1120e06
mov byte [edi + 0x3f], 1
mov dword [esp + 0x28], 1
test esi, esi
je 0x111ff09
jmp 0x111fef9
mov eax, dword [esp + 0x40]
mov ebp, dword [eax + 0x68]
jmp 0x1120064
mov edi, dword [esp + 0x24]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x18], esi
cmp eax, 1
jle 0x1121489
sub eax, 2
lea edx, [esi + 2]
mov dword [edi + 0x1c], eax
lea eax, [esi + 1]
mov dword [edi + 0x20], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
sub esp, 8
mov edx, 0x87
mov ecx, dword [eax + 4]
push 0
push dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x38], 2
mov dword [esp + 0x34], 1
jmp 0x11202aa
mov esi, dword [esp + 0x24]
movzx eax, word [ebp + 0x30]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x20]
mov dword [esp + 0x10], eax
add eax, 2
cmp eax, edx
jg 0x11214a6
lea ecx, [eax + edi]
sub edx, eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x74], eax
test ecx, ecx
je 0x1120f8c
lea eax, [edi + 2]
mov dword [esp + 0x84], edi
xor ebx, ebx
mov edi, dword [esp + 0x24]
mov dword [esp + 0x34], eax
jmp 0x1120f1c
cmp ebx, 0x1f
jle 0x1121219
sub esp, 4
mov edx, esi
mov eax, edi
push dword [esp + 0x24]
push dword [esp + 0x30]
push ebx
mov ecx, dword [esp + 0x18]
call fcn.0112ca40
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x84], eax
add esp, 0x10
add ebx, 1
cmp dword [esp + 0x10], ebx
je 0x1120f85
mov eax, dword [esp + 0x34]
add eax, ebx
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x38]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x1120f13
test byte [esi + 0xc], 1
jne 0x1120ee0
mov eax, dword [esi]
sub esp, 0xc
mov edx, dword [eax + 0x10]
push 1
mov eax, edi
mov ecx, dword [esp + 0x30]
call fcn.0112c5e0
add esp, 0x10
cmp byte [esi + 0xf], 0x4a
jne 0x1120f13
test byte [ebp + 0x1c], 2
je 0x1120f13
sub esp, 8
xor ecx, ecx
mov edx, 0x47
add ebx, 1
push 0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x10]
push dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
cmp dword [esp + 0x10], ebx
jne 0x1120f1c
mov edi, dword [esp + 0x84]
sub esp, 8
mov ecx, dword [ebp + 0x18]
mov edx, 0x47
push 0
push edi
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.010c6f00
pop eax
lea eax, [edi + 1]
pop edx
push 0
mov edx, 0x47
push eax
mov ecx, dword [esp + 0x20]
mov eax, esi
call fcn.010c6f00
movzx ebx, byte [ebp + 0x1c]
add esp, 0x10
mov edx, 6
and ebx, 1
cmp bl, 1
sbb eax, eax
or eax, 0xfffffffa
push eax
mov eax, esi
push dword [ebp + 0x24]
push edi
push dword [esp + 0x80]
mov ecx, dword [esp + 0x70]
call fcn.010c7690
mov eax, dword [esp + 0x28]
add esp, 0x10
and byte [ebp + 0x1c], 0xfe
cmp byte [eax + 0x57], 0
je 0x1121003
mov dword [ebp + 0x24], 0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2e], 1
sbb eax, eax
and eax, 0xffffff84
sub eax, 0x45
mov byte [esi + 0x3d], al
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x44], eax
lea esi, [edi + 2]
xor edi, edi
test ebx, ebx
je 0x111fef9
mov eax, esi
mov esi, ebp
mov ebp, eax
jmp 0x1121078
mov eax, dword [esp + 0x20]
test byte [eax + 0xc], 1
je 0x1121068
cmp edi, 0x1f
jle 0x112109e
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
je 0x11210b6
lea esi, [esi]
add edi, 1
add ebp, 1
cmp dword [esp + 0x10], edi
je 0x111fef9
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x20], eax
cmp edi, 0xf
jg 0x1121048
movzx eax, word [esi + 0x22]
bt eax, edi
jb 0x1121477
mov eax, dword [esp + 0x20]
test byte [eax + 0xc], 1
je 0x1121068
mov eax, 1
mov ecx, edi
shl eax, cl
and eax, dword [esi + 0x28]
jne 0x1121068
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
jne 0x1121068
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x58], eax
test eax, eax
jle 0x1121167
mov edx, dword [esp + 0x2c]
mov ebx, dword [ebx + 0x4c]
mov dword [esp + 0x34], edi
xor ecx, ecx
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x2c]
mov eax, dword [edx]
mov esi, dword [esp + 0x58]
lea edx, [ebx + 4]
movzx eax, byte [eax + 0x57]
mov byte [esp + 0x28], al
jmp 0x1121116
cmp bl, 0x87
jne 0x1121108
mov ebx, dword [eax + 8]
cmp ebx, ebp
je 0x1122c23
add ecx, 1
add edx, 0x14
cmp ecx, esi
je 0x1121bb4
cmp byte [esp + 0x28], 0
mov ebx, dword [edx]
mov eax, 0x14bebec
jne 0x112112d
mov eax, dword [edi + 0x68]
lea ebx, [ebx + ebx*4]
lea eax, [eax + ebx*4]
movzx ebx, byte [eax]
cmp bl, 0x5e
jne 0x11210f8
mov ebx, dword [eax + 0xc]
cmp ebx, ebp
jne 0x1121108
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x34]
mov edx, 0x5e
mov esi, dword [esp + 0x38]
mov ebx, dword [eax + 8]
sub esp, 8
mov ecx, dword [eax + 4]
push dword [esp + 0x30]
push ebx
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
sub esp, 0xc
xor ecx, ecx
mov edx, 0x35
push 0
mov eax, dword [esp + 0x34]
call fcn.010cd1d0
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
jne 0x1121c27
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x1c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
test eax, eax
jle 0x11211ac
mov ecx, dword [edx + 0x14]
lea eax, [eax + eax*4 - 5]
lea eax, [ecx + eax*4]
mov edx, dword [eax + 8]
mov dword [ebx + 0xc], edx
sub esp, 0xc
mov edx, 0xb0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
push 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xf0]
call fcn.010b8620
add esp, 0x10
mov dword [ebx + 0x10], eax
test eax, eax
je 0x1121202
mov dword [eax + 0x1c], ebp
push 0x10
mov eax, dword [esp + 0xc]
push dword [eax + 0x18]
push ebx
push dword [esp + 0x30]
call fcn.0111cf40
add esp, 0x10
mov dword [ebx + 0xc], 0
mov eax, dword [esp + 0x18]
mov edx, ebx
call fcn.010adc60
jmp 0x1121068
mov eax, 1
mov ecx, ebx
shl eax, cl
and eax, dword [ebp + 0x28]
je 0x1120ee9
mov ecx, dword [edi + 0x28]
mov edx, dword [esi]
lea eax, [ecx + 1]
mov dword [esp + 0x58], ecx
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x2c]
add eax, 1
mov dword [edi + 0x2c], eax
mov dword [esp + 0x38], eax
mov eax, edi
call fcn.011333d0
sub esp, 8
mov edx, 0xaf
push dword [esp + 0x40]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1120f13
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
and eax, 0xfffffffe
jmp 0x111f6f9
mov eax, dword [edx + 0x2c]
mov edi, dword [esp + 8]
sub esp, 8
xor ecx, ecx
mov dword [esp + 0x28], eax
add eax, 1
mov dword [edx + 0x2c], eax
mov edx, 0x47
mov dword [edi], eax
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x111f74f
mov esi, dword [esp + 0x18]
test esi, esi
je 0x11203a3
mov edi, dword [esp + 0x24]
movzx edx, byte [edi + 0x13]
cmp dl, 7
ja 0x11203a3
lea ecx, [edx + 1]
mov byte [edi + 0x13], cl
mov dword [edi + edx*4 + 0xa4], esi
jmp 0x11203a3
sub esp, 4
mov edx, 0x1d
push dword [esp + 0x38]
push dword [esp + 0x30]
push 0
mov eax, dword [esp + 0x3c]
call fcn.010c7cf0
add esp, 0x10
mov ebx, eax
jmp 0x11202f1
test ah, 0x20
je 0x1121a43
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x9c], eax
add edi, 1
add eax, 1
mov dword [esi + 0x28], eax
mov eax, esi
mov dword [esi + 0x2c], edi
mov esi, dword [esi + 0x38]
mov dword [esp + 0x94], edi
mov dword [esp + 0xa4], esi
sub esi, 1
mov dword [eax + 0x38], esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x68]
add esi, eax
mov eax, dword [esp + 0x30]
shl esi, 3
mov ebx, dword [eax + esi + 0x18]
mov eax, dword [ebp + 0x38]
mov ebp, dword [eax]
mov eax, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov ebx, dword [ebp + 0x18]
mov dword [eax + 0x40], edi
mov edi, dword [esp + 0x40]
mov byte [eax + 0x3d], 0x43
mov dword [esp + 0x10], ebx
movzx eax, byte [edi + 0x2c]
cmp al, 1
ja 0x11226fb
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
test byte [eax + 0x28], 0x10
jne 0x11221c7
mov eax, dword [esp + 0x38]
test byte [eax + 0x1c], 0x80
je 0x11229ae
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x11213db
jmp 0x11236a7
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1184faf
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x11213d0
mov esi, dword [esp + 0x24]
sub esp, 8
mov edx, 0x76
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
mov dword [esp + 0x3c], ecx
mov dword [esi + 0x28], eax
movzx eax, word [ebx + 0x32]
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov edx, ebx
mov eax, esi
call fcn.010d1250
add esp, 0x10
jmp 0x11229dc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
add eax, edi
mov eax, dword [edx + eax*8 + 0x18]
mov eax, dword [eax + 8]
test eax, eax
je 0x1123096
mov ecx, dword [esp + 8]
cmp ecx, eax
je 0x1123096
mov edx, dword [esp + 0x170]
lea esi, [esi]
mov eax, dword [eax + 0x14]
add edx, 1
test eax, eax
je 0x112145e
cmp ecx, eax
jne 0x1121450
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov dword [eax + 0x18], edx
mov edx, 0x71
jmp 0x111f4bf
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 8]
call fcn.0109b000
jmp 0x1121068
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x2c]
lea esi, [eax + 1]
add eax, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
mov dword [edi + 0x2c], eax
jmp 0x1120e51
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x2c]
add eax, edx
lea edi, [edx + 1]
mov dword [esi + 0x2c], eax
jmp 0x1120eaf
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0xc]
test byte [eax + 0x1c], 0x80
je 0x1122060
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x60], esi
je 0x11215a3
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x11214f3
jmp 0x11236b1
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1184f9d
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x11214e8
movzx esi, word [ebx + 0x32]
mov eax, dword [esp + 0x24]
mov edx, esi
call fcn.010a0170
mov dword [esp + 0x20], eax
test esi, esi
je 0x1121582
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x74]
xor edi, edi
mov eax, dword [ebx + 4]
movzx esi, word [ebp + 0x34]
movzx edx, word [eax + edi*2]
test si, si
je 0x1122b50
mov ecx, dword [ebp + 4]
xor eax, eax
jmp 0x112154b
add eax, 1
cmp esi, eax
je 0x1122b50
cmp dx, word [ecx + eax*2]
jne 0x1121540
cwde
sub esp, 8
mov esi, dword [esp + 0x28]
lea edx, [esi + edi]
add edi, 1
push edx
mov edx, 0x5e
push eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
movzx esi, word [ebx + 0x32]
add esp, 0x10
cmp edi, esi
jl 0x112151f
mov ebp, dword [esp + 0x18]
sub esp, 4
mov edx, 0x1c
push esi
push dword [esp + 0x28]
push dword [esp + 0x50]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0x10
xor esi, esi
jmp 0x1120d95
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0x70]
test eax, eax
jne 0x11215c7
jmp 0x11215cb
mov eax, dword [eax + 0x18]
test eax, eax
je 0x11215cb
cmp edx, dword [eax]
jne 0x11215c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
add edx, edi
mov ecx, dword [ecx + edx*8 + 0x34]
push 0xfffffffffffffff5
mov edx, 0xad
push eax
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.010c7690
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x18], eax
add esp, 0x10
jmp 0x111f450
test byte [esp + 0x7a], 0x20
je 0x11207ed
mov eax, dword [ebp + 4]
mov dword [ebp + 8], eax
jmp 0x111f50a
mov edx, 0x3a8
xor ecx, ecx
mov esi, 0x358
jmp 0x111eb24
xor eax, eax
xor edx, edx
jmp 0x111f069
mov eax, dword [esp + 0x10]
test byte [eax + 0x28], 0x20
jne 0x111ef7e
mov ebx, dword [esi + 0x18]
cmp byte [ebx + 0x2b], 1
je 0x111ef7e
test byte [esi + 0x30], 3
jne 0x111ef7e
mov edx, dword [esp + 8]
add eax, 0x50
xor ebp, ebp
mov edi, dword [esi + 0x34]
mov dword [esp + 0x28], eax
mov word [edx + 0x32], bp
lea ebp, [esp + 0xe0]
mov dword [edx + 0x2c], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov eax, 0x101
mov word [esp + 0xf9], ax
mov eax, 0xffffffff
mov word [esp + 0x128], ax
mov eax, ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0xec], 0
mov byte [esp + 0xf8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf4], 0x82
mov dword [esp + 0xf0], 0
mov dword [esp + 0xfc], edi
call fcn.010e1370
test eax, eax
jne 0x11216ff
jmp 0x11232b2
mov eax, ebp
call fcn.010e1370
test eax, eax
je 0x11232b2
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jne 0x11216f0
mov esi, dword [esp + 8]
mov ecx, 0x21
mov edx, dword [esi + 0x38]
mov dword [esi + 0x2c], 0x1101
mov dword [edx], eax
mov eax, 1
mov edx, 1
mov word [esi + 0x30], ax
mov word [esi + 0x18], dx
mov word [esi + 0x14], cx
mov ecx, 0x1101
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov ebp, 1
mov word [eax + 0x16], bp
mov dword [esi + 0x348], eax
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x20]
mov dword [esi + 0x2fc], eax
mov eax, 1
mov word [esi + 0x34], ax
mov eax, dword [esi + 8]
test eax, eax
je 0x112177b
mov eax, dword [eax]
mov byte [esi + 0x2d], al
mov eax, dword [esp + 0x10]
test byte [eax + 0x29], 1
je 0x1121789
mov byte [eax + 0x2f], 1
cmp byte [esp + 0xf9], 1
jbe 0x11217a1
mov edi, dword [esp + 8]
mov eax, ecx
or eax, 0x200000
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 8]
jmp 0x111f246
mov esi, dword [esi + 8]
test esi, esi
jne 0x11217cb
jmp 0x11236ac
mov esi, dword [esi + 0x14]
test esi, esi
je 0x1184f94
movzx eax, byte [esi + 0x38]
and eax, 3
cmp al, 2
jne 0x11217c0
movzx eax, word [esi + 0x32]
sub esp, 8
mov ecx, dword [ebx + 0x10]
mov edx, 0x76
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov eax, dword [esp + 0x34]
mov edx, esi
call fcn.010d1250
add esp, 0x10
jmp 0x111fe7c
mov eax, dword [ebp + 0x38]
sub esp, 4
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x2c]
lea ebx, [edi + 1]
mov dword [esp + 0x14], edi
mov edi, eax
mov dword [eax + 0x2c], ebx
push ebx
push dword [esp + 0x30]
push 0
mov ecx, dword [esp + 0x18]
call fcn.0112ca40
add esp, 0x10
mov esi, eax
cmp ebx, eax
je 0x1121848
test ebx, ebx
je 0x1121848
movzx eax, byte [edi + 0x13]
cmp al, 7
jbe 0x112299c
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1122170
sub esp, 8
mov edx, 0x1e
push esi
push ebx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov eax, dword [esp + 0x18]
add esp, 0x10
mov byte [eax + 0x3d], 0xbb
jmp 0x111fef9
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
cmp al, 1
jbe 0x111f2b4
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x50]
jmp 0x111f2a9
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
test edx, edx
jne 0x1122046
mov eax, dword [esp + 0x28]
xor ebp, ebp
test eax, eax
jne 0x1122911
test ebx, ebx
je 0x112354e
mov dword [esp + 0xe0], 0x17151618
mov edi, dword [ebx]
mov edx, dword [edi + 0x10]
movzx eax, byte [edx]
cmp al, 0xb0
jne 0x11218e3
movzx eax, byte [edx + 2]
cmp al, 0xb1
je 0x1122dfc
cmp al, 0x8a
je 0x1122b79
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xc0]
call fcn.0112c860
mov edx, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
call fcn.0109b000
movzx eax, byte [edi]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0xaa]
sub esp, 8
push ecx
push esi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
test ebx, ebx
je 0x1121951
mov edi, dword [esp + 0x24]
movzx eax, byte [edi + 0x13]
cmp al, 7
jbe 0x11227ee
test ebp, ebp
je 0x111f83b
mov eax, dword [esp + 0x24]
mov ebx, dword [ebp]
sub esp, 0xc
mov edi, dword [eax + 0x2c]
mov edx, dword [ebx + 0x10]
lea ecx, [edi + 1]
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x2c], ecx
push 1
call fcn.0112c5e0
mov eax, dword [ebx + 0x10]
add esp, 0x10
movzx edx, byte [eax]
cmp dl, 0xb0
jne 0x112198c
movzx edx, byte [eax + 2]
cmp dl, 0xb1
je 0x112308c
cmp dl, 0x8a
je 0x1122e06
movzx eax, byte [ebx]
sub eax, 0x36
cmp dword [esp + 0x28], 1
sbb edi, edi
test al, 0xfd
je 0x1122906
and edi, 0xfffffffe
add edi, 0x38
mov eax, dword [esp + 8]
mov edx, ebp
call fcn.0109b000
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
mov eax, 0x27
sub al, byte [esp + 0x28]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x60]
sub esp, 8
mov byte [ebx + 0x3d], al
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ebx, dword [eax + 0x2c]
mov edx, 0x87
mov dword [esp + 0x28], ebx
add ebx, 1
mov dword [eax + 0x2c], ebx
push 0
push ebx
mov ebp, dword [esp + 0x3c]
mov eax, ebp
call fcn.010c6f00
pop ecx
pop eax
push ebx
push esi
mov ecx, dword [esp + 0x20]
mov edx, edi
mov eax, ebp
call fcn.010c6f00
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x111fef9
mov ebp, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x53
lea eax, [ebp + eax*4]
mov word [eax - 0x12], dx
jmp 0x111fef9
and ebx, 0x40
je 0x1123015
mov eax, dword [esp + 8]
mov byte [eax + 0x3d], 0xbb
jmp 0x111fef9
mov eax, dword [eax + 0x10]
mov dword [esp + 0x8c], eax
jmp 0x11209ef
mov byte [esp + 0x84], 0
mov dword [esp + 0x38], 0
jmp 0x11208f5
sub esp, 8
xor ecx, ecx
mov edx, 9
push 0
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x6c]
mov dword [esp + 0xa8], eax
add eax, 2
push eax
mov eax, edi
xor edi, edi
call fcn.010c6f00
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x84], 2
setge al
lea eax, [eax*4 + 2]
mov esi, dword [esp + 0xac]
sub esp, 4
movzx edx, byte [esi + eax]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
sub eax, esi
push eax
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
mov edx, dword [esp + 0x48]
add esp, 0x10
test edx, edx
jne 0x1120bfb
cmp byte [esp + 0x20], 0
je 0x1121e8f
lea eax, [ebx + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x1120d17
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x1120d32
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
mov eax, dword [esp + 8]
mov dword [eax + 0x44], edx
mov eax, dword [esp + 0x28]
lea esi, [eax + eax]
mov eax, dword [esp + 0x94]
add eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x1122fb9
mov eax, dword [esp + 0x18]
sub esp, 4
push dword [esp + 0x24]
movzx edx, byte [eax + 0x1437ea0]
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0x10
test edi, edi
je 0x1120d6a
mov esi, dword [esp + 0x2c]
mov edx, 0x14bebec
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
je 0x1122933
mov dword [edx + 8], eax
jmp 0x1120d5e
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x1121167
mov dword [esp + 0x34], 0
mov edx, ebx
xor edi, edi
jmp 0x11208b4
sub esp, 8
mov edx, 0xc
mov ecx, ebx
push 0
push esi
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
mov edx, eax
jmp 0x111feee
xor edi, edi
xor ebp, ebp
jmp 0x111f198
call fcn.011196d0
jmp 0x111f545
sub esp, 4
push dword [esp + 0x34]
push dword [esp + 0x30]
push 0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
call fcn.010d3180
add esp, 0x10
jmp 0x1120853
test ebx, ebx
jne 0x1121209
jmp 0x1121068
mov dword [ebp + 0x38], 0
jmp 0x111f55a
mov byte [esp + 0x9c], 0
mov dword [esp + 0x88], 1
mov edi, 1
mov esi, dword [esp + 0x84]
cmp eax, esi
je 0x1122be5
lea eax, [edi*4]
jmp 0x1120b66
sub esp, 8
xor ecx, ecx
mov edx, 0xf
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
mov ebp, eax
jmp 0x11207a4
sub esp, 4
push 0x40
push 0x1430a21
push dword [esp + 0x30]
call fcn.010b78f0
add esp, 0x10
jmp 0x111ef1b
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1122ea8
mov dword [esp + 0x88], 1
jmp 0x1120a18
mov dword [esp + 0x94], 1
mov esi, dword [esp + 0x38]
test esi, esi
je 0x1121cf3
mov eax, dword [esp + 0x38]
test byte [eax + 0xc], 0x28
setne al
movzx eax, al
mov dword [esp + 0x94], eax
cmp byte [esp + 0x84], 0
jne 0x1122e5a
mov ecx, dword [esp + 0x58]
test ecx, ecx
jne 0x1121f6f
xor eax, eax
mov ecx, ebx
cmp word [esp + 0x88], 0
setne al
sub esp, 0xc
mov edi, eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x44]
call fcn.010c93b0
movzx eax, word [ebp + 0x32]
add esp, 0x10
test ax, ax
je 0x1122941
mov dword [esp + 0x84], ebx
mov dword [esp + 0xa0], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0x88], 1
jmp 0x1121c58
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x34], eax
add eax, 1
mov dword [edx + 0x2c], eax
mov edx, dword [esp + 8]
mov dword [esp + 0x58], eax
mov esi, dword [edx]
mov dword [edx + 0x24], eax
test esi, esi
jne 0x1122e39
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 8]
mov byte [esp + 0x84], 1
mov dword [esp + 0x34], 1
mov eax, dword [edx + 0x38]
sub eax, 1
mov dword [edx + 0x38], eax
mov dword [esi + 0x28], eax
jmp 0x112090d
sub esp, 8
mov edx, 0x7d
push ebx
push ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov eax, dword [ebp + 0x2c]
add esp, 0x10
jmp 0x1120d78
sub esp, 0xc
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
call fcn.010bd820
add esp, 0x10
jmp 0x1120833
mov ecx, dword [esi + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x28], ecx
cmp ebx, 1
je 0x112328f
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov edx, ebx
shl edx, 4
add edx, dword [ecx + 0x10]
mov edx, dword [edx + 4]
cmp byte [edx + 9], 0
je 0x111f450
sub esp, 8
mov edx, ebx
push eax
push 0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
call fcn.010c9c90
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x18], eax
add esp, 0x10
jmp 0x111f450
cmp byte [esp + 0x20], 0
je 0x1121e8f
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov eax, dword [esp + 0x40]
add eax, ebx
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x94], 0
jmp 0x1121b0c
mov dword [esp + 0x20], ebx
jmp 0x1120d0c
mov edi, dword [esp + 0x28]
lea esi, [edi + edi]
sub esp, 8
add eax, 2
mov edx, 0x10
push 0
push eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov edi, dword [esp + 0xb0]
add esp, 0xc
movzx edx, byte [edi + esi + 0x1437ea0]
mov esi, dword [esp + 0x24]
add esi, edi
push esi
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0x10
jmp 0x1120d6a
mov eax, dword [ebp + 0x38]
xor ebp, ebp
mov ebx, dword [eax]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1123550
test ebx, ebx
jne 0x11218c8
mov ebx, ebp
mov edx, 0x20
jmp 0x1122916
movzx edi, word [esp + 0x7a]
test edi, 8
je 0x111f2fb
mov esi, dword [esp + 0x48]
mov edx, dword [esi + 0x18]
cmp byte [edx + 0x2b], 1
je 0x111f2fb
test ah, 0x20
je 0x1121f50
and edi, 0x10
je 0x111f2fb
mov edi, dword [esp + 0x70]
test byte [edi + 0x53], 8
jne 0x111f2fb
mov ecx, 2
jmp 0x111f2ea
xor edx, edx
jmp 0x111f77d
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov edi, dword [esp + 0x40]
lea eax, [ebx + edi]
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov eax, dword [esp + 0x34]
lea ecx, [ebx + 1]
mov dword [esp + 0x94], ecx
pop edx
mov edx, edi
mov eax, dword [eax + 8]
push dword [esp + 0x9c]
call fcn.010c93b0
movzx eax, word [ebp + 0x32]
add esp, 0x10
mov dword [esp + 0xa0], 0
test ax, ax
jne 0x1121c40
mov byte [esp + 0x9c], 0
mov edi, 6
mov dword [esp + 0x88], 1
sub esp, 8
mov ecx, 1
mov edx, 0x47
push 0
push dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1120b7c
sub esp, 4
mov edx, 0x40
push ebx
push dword [esp + 0x3c]
mov esi, dword [esp + 0x98]
push esi
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0xc
push dword [esp + 0x58]
push dword [esp + 0x58]
push esi
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
call fcn.0112d720
add esp, 0x10
jmp 0x1120b8b
mov ebp, dword [eax + 4]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x11218c0
mov eax, ebp
mov ebp, ebx
mov ebx, eax
jmp 0x1121f06
mov esi, dword [esp + 0x40]
sub esp, 8
mov edx, 0x8d
mov ebx, dword [esi]
mov eax, dword [ebx + 8]
or byte [esi + 0x30], 1
mov dword [esp + 0x28], eax
push dword [esp + 0x68]
push 0
mov ecx, dword [esp + 0x20]
call fcn.010c6f00
add esp, 0x10
test word [esi + 0x28], 0x1020
je 0x11215a3
mov eax, dword [ebx + 0x80]
test eax, eax
cmove eax, ebx
mov esi, dword [eax + 0x58]
test esi, esi
jne 0x11215a3
mov eax, dword [esp + 0x74]
mov ebx, dword [ebx]
xor edx, edx
mov edi, dword [eax + 0xc]
movsx eax, word [edi + 0x22]
lea esi, [eax*4 + 4]
mov eax, esi
test ebx, ebx
je 0x11235f4
mov ecx, edx
mov eax, ebx
mov edx, esi
call fcn.010b7ad0
mov ebx, eax
test ebx, ebx
je 0x11215a3
sub esp, 4
push esi
push 0
push ebx
call 0x1184dc8
movsx eax, word [edi + 0x22]
mov dword [ebx], eax
mov eax, dword [esp + 0x84]
add esp, 0x10
movzx eax, word [eax + 0x34]
cmp ax, 1
jbe 0x11235d5
mov esi, dword [esp + 0x74]
sub eax, 1
mov dword [esp + 0x34], ebp
mov ebp, ebx
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 4]
xor esi, esi
mov ebx, ecx
jmp 0x1122144
test ax, ax
js 0x112213a
movsx edx, ax
mov eax, edi
call fcn.010a0250
cwde
mov dword [ebp + eax*4 + 4], esi
cmp dword [esp + 0x18], esi
je 0x11235cf
movzx eax, word [ebx + esi*2]
add esi, 1
test byte [edi + 0x1c], 0x20
jne 0x1122126
test ax, ax
jns 0x1122135
jmp 0x112213a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], 1
add eax, 1
mov dword [esp + 0x28], eax
jmp 0x11202aa
sub esp, 8
mov ecx, esi
mov edx, 0xd
push 0
push ebx
mov edi, dword [esp + 0x3c]
mov eax, edi
call fcn.010c6f00
mov eax, dword [esp + 0x18]
add esp, 0xc
mov edx, 0x40
mov ecx, dword [eax + 0x34]
push 1
mov eax, edi
push esi
push ebx
call fcn.010c7d80
add esp, 0xc
push dword [esp + 0x58]
push dword [esp + 0x58]
push ebx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
call fcn.0112d720
add esp, 0x10
jmp 0x112185a
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x6c]
cmp edi, dword [eax + 0x70]
jge 0x11231bf
mov esi, dword [esp + 0x2c]
lea eax, [edi + 1]
mov edx, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
lea eax, [edi + edi*4]
mov esi, dword [esp + 0x94]
lea eax, [edx + eax*4]
mov dword [eax + 8], esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x47
mov dword [eax + 4], 0
mov eax, dword [esp + 0x40]
xor ebx, ebx
xor esi, esi
cmp dword [eax + 0x5c], 1
jle 0x11222ac
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x40]
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, dword [edi + 0x68]
cmp ebp, eax
je 0x112227c
test word [eax + 0xa], 0x8006
jne 0x112227c
test word [eax + 0xc], 0x3fff
je 0x112227c
mov edx, dword [eax]
test byte [edx + 6], 0x40
jne 0x112227c
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x28]
call fcn.010bb290
mov edx, esi
mov ecx, eax
mov eax, dword [esp + 0x34]
call fcn.010cd390
add esp, 0x10
mov esi, eax
add ebx, 1
cmp ebx, dword [edi + 0x5c]
jl 0x1122235
mov edi, dword [esp + 0x20]
test esi, esi
je 0x11222ac
sub esp, 0xc
xor ecx, ecx
mov edx, 0x1002c
push esi
mov eax, dword [esp + 0x34]
call fcn.010cd1d0
mov dword [esp + 0xa8], eax
add esp, 0x10
jmp 0x11222b7
mov dword [esp + 0x98], 0
sub esp, 4
push 0x1430a97
push 1
push dword [esp + 0x30]
call fcn.010d76a0
mov eax, dword [esp + 0x20]
add esp, 0x10
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1123192
mov dword [esp + 0x74], 0
mov esi, dword [esp + 0x2c]
xor ebx, ebx
mov dword [esp + 0x90], 0
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x10]
lea eax, [ebx + ebx*2]
mov dword [esp + 0x8c], ebx
add ebx, 1
shl eax, 4
add eax, dword [edi + 0x18]
mov edi, dword [esp + 0x60]
cmp edi, dword [eax + 0x14]
je 0x112232d
test byte [eax + 0xd], 4
je 0x11224af
mov edi, dword [eax]
test edi, edi
je 0x11225fd
sub esp, 0xc
xor ecx, ecx
mov edx, edi
push 0
mov ebp, dword [esp + 0x28]
mov eax, ebp
call fcn.010bb290
add esp, 0x10
cmp byte [ebp + 0x57], 0
mov edi, eax
jne 0x11224a0
mov eax, dword [esp + 0x98]
mov ebp, edi
test eax, eax
je 0x112236c
mov dword [eax + 0xc], edi
mov ebp, eax
push ebx
push 0x1430aa6
push 1
push dword [esp + 0x30]
call fcn.010d76a0
pop eax
mov ecx, ebp
push dword [esp + 0xa8]
push 0x20
push 0
push 0
push 0
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0xa4]
mov eax, ebp
call fcn.0111ea90
mov dword [esp + 0xc0], eax
mov ecx, eax
add esp, 0x20
test eax, eax
je 0x11224a0
sub esp, 0xc
mov eax, ebp
add ecx, 0x2f8
push 0
mov edx, dword [esp + 0x94]
call fcn.010c7710
mov eax, dword [esp + 0x50]
add esp, 0x10
test byte [eax + 0x28], 0x10
je 0x1122610
sub esp, 8
mov edx, 0xa
mov eax, esi
push 0
push dword [esp + 0xb4]
mov ecx, dword [esp + 0xa4]
call fcn.010c6f00
add esp, 0x10
mov eax, dword [esp + 0xa0]
mov ecx, 1
movzx edx, byte [eax + 0x30]
mov eax, dword [eax + 0x348]
test dl, 2
cmove ecx, dword [esp + 0x90]
mov dword [esp + 0x90], ecx
test byte [eax + 0x2d], 2
je 0x112244b
mov ebp, dword [esp + 0x8c]
mov eax, dword [eax + 0x20]
test ebp, ebp
je 0x11225cf
cmp dword [esp + 0x74], eax
je 0x11225cf
mov dword [esp + 0x74], 0
and edx, 1
je 0x1122460
mov eax, dword [esp + 0x40]
or byte [eax + 0x30], 1
mov eax, dword [esp + 0xa0]
call fcn.01123b30
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xe8]
test eax, eax
je 0x1122496
mov ebp, dword [ecx]
mov edx, 0x14bebec
cmp byte [ebp + 0x57], 0
jne 0x1122493
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x68]
lea edx, [eax + edx*4]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx + 0xe8], eax
test edi, edi
je 0x11224af
mov eax, dword [esp + 0x18]
mov edx, edi
call fcn.010adc60
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], ebx
jg 0x1122303
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x11224ef
mov edx, dword [esi + 8]
mov ebx, dword [edx]
mov ecx, 0x14bebec
cmp byte [ebx + 0x57], 0
je 0x1122830
mov eax, dword [ecx + 8]
mov esi, dword [esp + 0x24]
mov dword [esi + 0xe8], eax
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x74]
mov dword [eax + 0x48], esi
test esi, esi
je 0x1122512
mov esi, dword [esp + 0x9c]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x98]
test eax, eax
je 0x112252f
mov dword [eax + 0xc], 0
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.010adc60
mov esi, dword [esp + 0x2c]
mov eax, 0x14bebec
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x112254c
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.010c75c0
mov ebx, dword [edi + 0xc]
mov eax, dword [ebx + 0x38]
add eax, dword [ebx + 0x3c]
js 0x1122f1b
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
mov eax, dword [esp + 0xa4]
shl eax, 2
neg eax
add eax, dword [ebx + 0x40]
mov dword [eax], edx
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 8]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2c], 1
jbe 0x11225b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x18]
call fcn.010a7e90
mov ebx, dword [esp + 0x90]
test ebx, ebx
jne 0x111fef9
mov eax, dword [esp + 8]
mov edx, ebp
call fcn.0109b000
jmp 0x111fef9
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x74], eax
mov ecx, eax
test byte [ebp + 0x1c], 0x80
je 0x1122453
movzx eax, byte [eax + 0x38]
and eax, 3
cmp al, 2
mov eax, 0
cmovne eax, ecx
mov dword [esp + 0x74], eax
jmp 0x1122453
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
je 0x112235a
jmp 0x11224af
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x8c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
sub eax, 1
cmp eax, edx
mov eax, 0xffffffff
cmovne eax, edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x38]
test byte [eax + 0x1c], 0x80
jne 0x1122c3c
sub esp, 8
mov edx, 0x87
mov eax, esi
push 0
push dword [esp + 0x34]
mov ecx, dword [esp + 0x70]
call fcn.010c6f00
mov ebp, dword [esi + 0x6c]
add esp, 0x10
cmp ebp, dword [esi + 0x70]
jge 0x1122972
mov edx, dword [esi + 0x68]
lea eax, [ebp + 1]
mov dword [esi + 0x6c], eax
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x34]
mov dword [eax + 8], 0
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax], 0xfd2f
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0x10], edx
sub esp, 8
mov edx, 0xa
mov eax, esi
push 0
push dword [esp + 0xb4]
mov ecx, dword [esp + 0xa4]
call fcn.010c6f00
add esp, 0x10
test ebp, ebp
je 0x1122401
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
mov eax, 0x14bebec
cmp byte [ecx + 0x57], 0
jne 0x11226e5
mov eax, dword [esi + 0x68]
lea ecx, [ebp + ebp*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x1122401
mov eax, dword [esp + 0x40]
call fcn.0109b400
jmp 0x111f2b4
mov ebx, dword [esp + 0x64]
mov edi, eax
xor ecx, ecx
sub edi, ebx
lea ebx, [edi - 1]
mov dword [esp + 0x20], edi
lea eax, [ebx + ebx*8]
lea eax, [eax*8 + 0x50]
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.010b7ad0
mov edi, eax
test eax, eax
je 0x11203d2
mov edx, dword [esp + 0x30]
lea eax, [ebx + 1]
movzx eax, al
lea esi, [edx + esi + 8]
mov dword [edi + 4], eax
mov dword [edi], eax
mov edx, dword [esi]
lea eax, [edi + 8]
mov dword [edi + 8], edx
mov edx, dword [esi + 0x44]
mov dword [edi + 0x4c], edx
mov dword [esp + 0x84], edi
add edi, 0xc
and edi, 0xfffffffc
sub eax, edi
sub esi, eax
add eax, 0x48
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 4]
add edx, 8
mov dword [esp + 0x28], edx
test ebx, ebx
jle 0x112139c
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x84]
lea ecx, [edi + edi*8]
lea edx, [eax + 0x9c]
lea ebx, [esi + ecx*8 + 8]
lea eax, [esi + 0x50]
movzx ecx, byte [edx]
mov edi, dword [esp + 0x28]
add edx, 0x60
lea ecx, [ecx + ecx*8]
lea esi, [edi + ecx*8]
lea edi, [eax + 4]
mov ecx, dword [esi]
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x44], ecx
mov ecx, eax
add eax, 0x48
sub ecx, edi
sub esi, ecx
add ecx, 0x48
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
cmp ebx, eax
jne 0x112279c
jmp 0x112139c
lea edx, [eax + ebx]
mov eax, dword [esp + 0x18]
call fcn.010b9c10
mov dword [esp + 0x98], eax
jmp 0x11209d5
lea edx, [eax + 1]
mov byte [edi + 0x13], dl
mov dword [edi + eax*4 + 0xa4], ebx
jmp 0x1121951
cmp byte [ecx + 0x2f], 2
je 0x111f50a
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x111f50a
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov edx, 2
lea eax, [ecx + eax*4]
mov word [eax - 0x12], dx
jmp 0x111f50a
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*4]
jmp 0x11224ec
test al, 0x40
je 0x111f2fb
movzx edx, word [esp + 0x7a]
and eax, 0xffffffbf
mov dword [ebx + 0x2c], eax
shr dx, 3
and edx, 1
shl edx, 3
mov byte [esp + 0x58], dl
jmp 0x111f2fb
sub esp, 8
mov edx, 0x24
push 0
push edi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x111f83b
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x36], 0
je 0x1120ddb
cmp word [ebp + 0x32], 0
jne 0x1120ddb
movzx edx, word [ebp + 0x18]
cmp dx, word [ecx + 0x32]
jne 0x1120ddb
movzx edi, dx
test dx, dx
je 0x1120de4
mov edx, dword [ebp + 0x38]
xor eax, eax
jmp 0x11228c8
add eax, 1
cmp eax, edi
je 0x11235c5
mov ecx, dword [edx + eax*4]
test word [ecx + 0xc], 0x180
je 0x11228bd
jmp 0x1120ddb
mov eax, dword [esp + 0x2c]
lea edx, [edx + edx*4 - 5]
mov eax, dword [eax + 0x68]
lea eax, [eax + edx*4]
jmp 0x1120c68
mov eax, dword [esp + 0x2c]
lea edx, [edx + edx*4 - 5]
mov eax, dword [eax + 0x68]
lea eax, [eax + edx*4]
jmp 0x1120a95
and edi, 2
add edi, 0x37
jmp 0x11219b9
mov edx, 0x20
sub esp, 8
mov ebp, ebx
push 0
push edi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1121951
mov edx, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea edx, [edx + ecx*4]
jmp 0x1121bac
mov dword [esp + 0x84], ebx
lea edi, [edi*4 + 2]
mov dword [esp + 0xa0], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0x88], 1
jmp 0x1120b7c
sub esp, 4
mov edx, 0x2f
mov eax, esi
push dword [esp + 0x8c]
push dword [esp + 0x30]
push 0
mov ecx, dword [esp + 0x44]
call fcn.010c7cf0
add esp, 0x10
mov ebp, eax
jmp 0x11226a1
lea edx, [eax + 1]
mov byte [edi + 0x13], dl
mov dword [edi + eax*4 + 0xa4], ebx
jmp 0x1121848
mov edi, dword [esp + 0x24]
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x28], eax
add eax, 1
mov dword [esp + 0x3c], eax
mov dword [edi + 0x2c], eax
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x2c]
lea esi, [edi + 1]
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], esi
mov dword [eax + 0x2c], esi
jmp 0x11221d7
mov esi, dword [esp + 0x40]
mov eax, esi
call fcn.010b0110
movzx edi, byte [esi + 0x2c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, edi
mov dword [esp + 0x7c], edi
jmp 0x1121891
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
add eax, edi
mov ecx, dword [edx + eax*8 + 0x40]
mov eax, dword [edx + eax*8 + 0x44]
mov edx, ecx
mov dword [esp + 8], eax
or edx, eax
je 0x1123635
test eax, eax
je 0x1123627
bsr eax, eax
xor eax, 0x1f
mov ecx, 0x40
sub ecx, eax
sub esp, 0xc
mov edx, 0xffffffff
push 0xfffffffffffffffd
mov eax, dword [esp + 0x3c]
call fcn.010b9e80
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x18], eax
add esp, 0x10
jmp 0x111f42f
movzx edx, byte [eax]
add edx, 0x59
and edx, 0xfd
jne 0x111fcd8
mov edx, dword [edi + 4]
mov ebp, dword [esp + 0x10]
movzx edx, word [edx + ebp]
cmp word [eax + 0x20], dx
jne 0x111fcd8
mov edx, dword [esp + 8]
cmp edx, dword [eax + 0x1c]
jne 0x111fcd8
mov eax, dword [esp + 0x24]
mov edx, ecx
call fcn.010d2a80
test eax, eax
je 0x1123184
mov dword [esp + 0x28], ebx
mov ebp, dword [eax]
xor eax, eax
mov ebx, dword [esp + 0x18]
jmp 0x1122ae6
movzx ecx, byte [ecx + 0x143e140]
cmp byte [edx + 0x143e140], cl
jne 0x1122b70
add eax, 1
movzx edx, byte [ebp + eax]
movzx ecx, byte [ebx + eax]
cmp edx, ecx
jne 0x1122ad0
test edx, edx
jne 0x1122ae3
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
movsx eax, word [eax + ebx]
test eax, eax
jns 0x1122b5a
cmp eax, 0xffffffff
je 0x111fc40
movzx eax, word [edi + 0x32]
jmp 0x111fce7
movzx edi, byte [eax]
add edi, 0x59
and edi, 0xfd
jne 0x111fbe9
cmp ebp, dword [eax + 0x1c]
jne 0x111fbe9
cmp word [eax + 0x20], 0
jns 0x111fbe9
jmp 0x111fcef
mov eax, 0xffffffff
jmp 0x1121552
mov edx, dword [edi + 0xc]
shl eax, 4
add eax, dword [edx + 4]
test byte [eax + 4], 0xf
jne 0x111fc40
jmp 0x1122b13
mov ebx, dword [esp + 0x28]
jmp 0x111fcd8
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x11218f3
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + 0x13]
test al, al
je 0x1122c10
mov ebx, dword [esp + 0x24]
sub eax, 1
mov byte [ebx + 0x13], al
movzx eax, al
mov ecx, dword [ebx + eax*4 + 0xa4]
mov dword [esp + 0xc0], ecx
sub esp, 0xc
push 1
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
call fcn.0112c5e0
movzx eax, byte [edi]
sub eax, 0x37
and eax, 2
or eax, 1
movzx edx, byte [esp + eax + 0xf0]
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov ebx, ecx
jmp 0x1121928
mov eax, dword [esp + 0x38]
xor edi, edi
test eax, eax
jne 0x1120bfb
cmp byte [esp + 0x20], 0
je 0x1121e8f
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x1121b0c
jmp 0x1121e60
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x2c]
lea ecx, [ebx + 1]
mov dword [esp + 0x10], ebx
mov dword [eax + 0x2c], ecx
jmp 0x1122baa
mov edx, dword [eax + 0xc]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, 0x87
jmp 0x1121150
mov eax, dword [esp + 0x38]
mov ebp, dword [eax + 8]
test ebp, ebp
jne 0x1122c5b
jmp 0x11236a2
mov ebp, dword [ebp + 0x14]
test ebp, ebp
je 0x1184fa6
movzx eax, byte [ebp + 0x38]
and eax, 3
cmp al, 2
jne 0x1122c50
movzx eax, word [ebp + 0x32]
mov edx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
call fcn.010a0170
mov dword [esp + 0x58], eax
mov ecx, eax
mov eax, dword [esp + 0x20]
lea edx, [eax + eax]
mov dword [esp + 0xac], edx
xor edx, edx
test eax, eax
je 0x1122ce0
mov dword [esp + 0xb8], edi
mov edi, edx
mov dword [esp + 0xbc], ebx
mov ebx, ecx
mov eax, dword [ebp + 4]
sub esp, 8
push ebx
add ebx, 1
movsx eax, word [eax + edi]
add edi, 2
push eax
mov ecx, dword [esp + 0x70]
mov eax, esi
mov edx, dword [esp + 0x48]
call fcn.0112b660
add esp, 0x10
cmp dword [esp + 0xac], edi
jne 0x1122ca5
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x88]
test ebp, ebp
jne 0x11231e5
sub esp, 8
mov edx, 0x61
mov eax, esi
push dword [esp + 0x30]
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x68]
mov ecx, ebp
call fcn.010c6f00
add esp, 0xc
mov edx, 0x8a
mov eax, esi
push dword [esp + 0x24]
push ebp
push dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
call fcn.010c7d80
add esp, 0x10
cmp dword [esp + 0x20], 1
je 0x11233f3
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x1c]
jle 0x1122d55
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 0x20], edx
mov ebp, dword [esp + 0x88]
jmp 0x11226a1
mov eax, dword [esp + 0x9c]
call fcn.0109a230
test eax, eax
je 0x1120ab8
sub esp, 8
mov edx, 0x32
push 0
push dword [esp + 0x98]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1120ab8
sub esp, 8
mov edx, 0x88
push 0
push 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1120982
mov eax, dword [esp + 0x84]
call fcn.0109a230
test eax, eax
je 0x1120c8b
sub esp, 8
mov edx, 0x32
push 0
push dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1120c8b
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
jmp 0x1122b81
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x112199e
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
mov eax, edi
neg eax
add eax, 0x27
cmp edi, 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 0x38
jmp 0x11219d4
sub esp, 8
xor ecx, ecx
mov edx, 0x47
push 0
push dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
jmp 0x1121d99
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov eax, dword [esp + 0x40]
add eax, ebx
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
lea eax, [ebx + 1]
mov ecx, ebx
mov dword [esp + 0x94], eax
add esp, 0x10
mov dword [esp + 0x88], 0
mov dword [esp + 0xa0], 1
mov byte [esp + 0x9c], 0
jmp 0x1120b37
mov dword [esp + 0x94], 1
mov dword [esp + 0x88], 1
jmp 0x1120a2d
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x38], eax
mov edi, dword [esp + 0x70]
cmp byte [edi + 0x57], 0
je 0x1120403
jmp 0x111ef00
mov edi, dword [esp + 8]
mov dword [esp + 0x50], eax
mov edx, dword [edi + 0x38]
lea ebx, [edi + 0x40]
cmp ebx, edx
jne 0x111eec3
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x44]
xor ebx, ebx
mov edx, esi
call fcn.010a8000
mov word [esi + 0x30], bx
mov dword [esi + 0x2c], 0
jmp 0x111ef00
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x2c]
mov eax, ebx
neg ecx
call fcn.010c96c0
jmp 0x1122588
mov dword [esp + 0x94], 1
jmp 0x1120a2d
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
cmp eax, 1
jle 0x1120cff
mov dword [esp + 0x94], 1
jmp 0x1120d0c
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x1120b12
mov byte [esp + 0x9c], 1
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x88], 1
jmp 0x1120b37
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
jmp 0x1122f78
sub esp, 8
add edx, 3
push 0
push edx
mov ecx, dword [esp + 0x68]
mov edx, 0x11
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
mov edx, dword [esp + 0x28]
add esp, 0xc
push dword [esp + 0x24]
movzx edx, byte [edx + 0x1437ea0]
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0x10
test edi, edi
jne 0x1121b94
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
jmp 0x1121e9f
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
movzx eax, byte [esi + 0x1437e9b]
movzx ecx, byte [esi + 0x1437e99]
mov esi, dword [esp + 0x2c]
mov byte [ebx + 0x3d], al
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x40], eax
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x70]
jge 0x11233d2
mov esi, dword [esp + 0x2c]
lea edx, [eax + 1]
lea ebx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [esi + 0x6c], edx
mov esi, dword [esp + 0x60]
lea eax, [eax + ebx*4]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov eax, dword [esp + 8]
mov dword [eax + 0x44], edx
mov byte [eax + 0x3f], 1
jmp 0x111fef9
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
jmp 0x1122e0e
mov eax, dword [esp + 0x170]
mov dword [esp + 0x28], eax
jmp 0x1121462
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 4]
movsx edx, word [edx + ebx*2]
test edx, edx
js 0x11232a2
mov ecx, dword [ecx + 0xc]
shl edx, 4
add edx, dword [ecx + 4]
test byte [edx + 4], 0xf
sete byte [esp + 0x84]
jmp 0x11208f5
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 8]
sub esp, 8
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x60], eax
add eax, 1
mov dword [edx + 0x2c], eax
mov edx, 0x47
mov dword [ecx + 0x2c], eax
mov ecx, 1
push 0
push eax
mov esi, dword [esp + 0x3c]
mov eax, esi
call fcn.010c6f00
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x6c]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x68], eax
lea edx, [eax + eax]
mov eax, dword [esp + 0x84]
add esp, 0x10
mov dword [ecx + 0x2c], edx
mov esi, dword [esp + 0x28]
mov eax, dword [eax + 0x1c]
cmp byte [eax + ebx], 1
sete al
movzx eax, al
xor eax, esi
or eax, edx
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp + 0x2c]
jmp 0x11208e5
mov edi, dword [eax + 0x208]
test edi, edi
jne 0x111fe7c
sub dword [edx], 1
jne 0x111fe7c
mov eax, dword [edx + 0xc]
call fcn.010a8980
jmp 0x111fe7c
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x1122f50
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x1122abf
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xe8]
test eax, eax
je 0x112363c
mov dword [esp + 0x90], 0
mov dword [esp + 0x74], 0
jmp 0x11224db
sub esp, 8
xor ecx, ecx
mov edx, 0x47
push 0
push dword [esp + 0xa0]
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
mov edi, eax
jmp 0x112221f
mov ebp, dword [esi + 0x6c]
cmp ebp, dword [esi + 0x70]
jge 0x1123600
mov edx, dword [esi + 0x68]
lea eax, [ebp + 1]
mov dword [esi + 0x6c], eax
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x34]
mov dword [eax + 8], 0
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax], 0xfd1d
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
cmp dword [esp + 0x88], 0xffffffff
je 0x1123283
sub esp, 8
mov edx, 0x61
mov eax, esi
push dword [esp + 0x30]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
call fcn.010c6f00
add esp, 0xc
mov edx, 0x8a
mov eax, esi
push dword [esp + 0x24]
push dword [esp + 0x60]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
call fcn.010c7d80
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x1123283
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x10
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
mov dword [esp + 0x88], ebp
jmp 0x1122d2b
test dword [esp + 8], 0x200
jne 0x111f461
jmp 0x111f50e
cmp edx, 0xfffffffe
sete byte [esp + 0x84]
jmp 0x11208f5
mov edi, dword [ebx + 8]
test edi, edi
je 0x1123670
mov dword [esp + 0x18], esi
jmp 0x11232ce
mov edi, dword [edi + 0x14]
test edi, edi
je 0x1123670
cmp byte [edi + 0x36], 0
je 0x11232c3
mov ecx, dword [edi + 0x24]
test ecx, ecx
jne 0x11232c3
movzx eax, word [edi + 0x32]
cmp ax, 3
ja 0x11232c3
movzx ecx, byte [edi + 0x38]
mov ebx, ecx
and ebx, 8
cmp bl, 1
sbb esi, esi
and esi, 0xffffff80
add esi, 0x82
test ax, ax
je 0x1123665
xor ebx, ebx
sub esp, 4
mov eax, ebp
push edi
push esi
push ebx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
call fcn.010e1760
add esp, 0x10
test eax, eax
jne 0x112333f
jmp 0x11233cc
mov eax, ebp
call fcn.010e1370
test eax, eax
je 0x11233cc
mov edx, dword [eax + 0x20]
or edx, dword [eax + 0x24]
jne 0x1123330
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x38]
mov dword [edx + ebx*4], eax
movzx eax, word [edi + 0x32]
add ebx, 1
cmp ebx, eax
jl 0x1123307
cmp ebx, eax
jne 0x11232c3
mov esi, dword [esp + 0x18]
movzx ecx, byte [edi + 0x38]
mov ebx, eax
mov eax, dword [esp + 8]
and ecx, 0x20
mov dword [eax + 0x2c], 0x1201
jne 0x112339f
mov edx, dword [esi + 0x44]
and edx, dword [edi + 0x44]
mov ecx, 0x1201
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0x40]
and eax, dword [edi + 0x40]
mov dword [esp + 0x18], eax
or eax, edx
jne 0x11233af
mov eax, dword [esp + 8]
mov ecx, 0x1241
mov dword [eax + 0x2c], 0x1241
mov eax, dword [esp + 8]
mov edx, 0x27
mov word [eax + 0x30], bx
mov word [eax + 0x18], bx
mov dword [eax + 0x20], edi
mov word [eax + 0x14], dx
jmp 0x1121737
movzx eax, word [edi + 0x32]
jmp 0x112335c
sub esp, 8
movzx edx, cl
push 0
push edi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
lea edx, [eax + 1]
jmp 0x112307c
mov ebp, dword [esp + 0x58]
test ebp, ebp
je 0x1122d55
mov ecx, dword [esp + 0x24]
movzx eax, byte [ecx + 0x13]
cmp al, 7
ja 0x1122d55
lea edx, [eax + 1]
mov byte [ecx + 0x13], dl
mov dword [ecx + eax*4 + 0xa4], ebp
jmp 0x1122d55
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov eax, ecx
sar eax, 0x1f
sar edx, 2
sub edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edx
mov edi, dword [eax + 0x6c]
cmp edi, dword [eax + 0x70]
jge 0x11235a6
mov edx, dword [esp + 0x2c]
lea eax, [edi + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [edi + edi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x7c
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x1123564
cmp byte [esp + 0x9c], 0
jne 0x1123564
sub esp, 4
mov edx, 0x17
push dword [esp + 0x88]
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
mov eax, dword [esp + 0x68]
add esp, 0x10
test eax, eax
je 0x1121e59
sub esp, 8
xor ecx, ecx
mov edx, 9
push 0
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 0x6c]
lea eax, [esi + 2]
mov dword [esp + 0xa8], esi
push eax
mov eax, dword [esp + 0x3c]
call fcn.010c6f00
add esp, 0x10
mov eax, 2
cmp dword [esp + 0x84], 1
jle 0x1121abb
mov eax, dword [esp + 0x28]
sub esp, 4
mov esi, dword [esp + 0x8c]
movzx edx, byte [eax + 0x1437eaa]
mov eax, dword [esp + 0x88]
sub eax, esi
push eax
push dword [esp + 0x3c]
push dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
call fcn.010c7d80
add esp, 0x10
jmp 0x1121b01
mov ebx, ebp
mov edx, 0x24
jmp 0x1122916
mov ebx, 0xffff8000
jmp 0x111f366
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x6c]
test eax, eax
jle 0x1123581
mov esi, dword [ecx + 0x68]
lea edx, [eax + eax*4]
mov ecx, 1
lea edx, [esi + edx*4]
mov word [edx - 0x12], cx
mov esi, dword [esp + 0x2c]
add eax, 1
mov edx, 0x14bebec
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x112359e
mov edx, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x1120bb5
sub esp, 8
mov edx, 0x7c
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.010c6e90
add esp, 0x10
mov edi, eax
jmp 0x1123482
mov eax, 0xffffffbb
jmp 0x1120de4
mov ebx, ebp
mov ebp, dword [esp + 0x34]
sub esp, 0xc
mov ecx, ebx
mov edx, 0xffffffff
xor esi, esi
push 0xfffffffffffffff2
mov eax, dword [esp + 0x30]
call fcn.010b9e80
add esp, 0x10
jmp 0x1120d95
call fcn.010a3110
mov ebx, eax
jmp 0x11220da
sub esp, 4
mov edx, 0x1d
mov eax, esi
push dword [esp + 0x24]
push dword [esp + 0x60]
push 0
mov ecx, dword [esp + 0x44]
call fcn.010c7cf0
add esp, 0x10
mov ebp, eax
jmp 0x1123223
bsr eax, ecx
xor eax, 0x1f
add eax, 0x20
jmp 0x1122a46
xor ecx, ecx
jmp 0x1122a4d
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x24]
mov dword [eax + 0xe8], 0
mov eax, dword [esp + 8]
mov dword [eax + 0x48], 0
jmp 0x1122512
mov esi, dword [esp + 0x18]
xor ebx, ebx
jmp 0x112336e
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x1121737
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov esi, dword [eax + 4]
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
jmp 0x111ef7e
jmp 0x1184f8b
jmp 0x1184fa6
jmp 0x1184faf
jmp 0x1184f94
jmp 0x1184f9d