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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov esi, dword [edx]
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov dword [esp + 4], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [esp + 0x10], esi
cmp byte [eax + 0x57], 0
mov dword [esp + 0x2c], eax
jne 0x112db59
lea eax, [ecx + ecx*2]
mov dword [esp + 0x30], 0
shl eax, 4
mov dword [esp + 0x34], 0
mov dword [esp + 0xc], eax
add eax, dword [edx + 0x18]
mov ebp, eax
lea eax, [esi + 0x1f0]
mov edi, dword [ebp]
mov dword [esp + 8], eax
mov dword [esi + 0x1f0], 0
mov esi, dword [edi + 0xc]
mov dword [esp], edi
test esi, esi
je 0x112d951
mov edx, esi
call fcn.010afdf0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp]
movzx edi, byte [eax]
mov eax, edi
movzx eax, al
mov dword [esp + 0x38], eax
mov eax, edi
cmp al, 0x31
je 0x112de20
mov eax, dword [esp]
xor edx, edx
mov ecx, dword [eax + 0x10]
xor eax, eax
test ecx, ecx
je 0x112d983
mov eax, dword [esp + 8]
mov edx, ecx
call fcn.010afdf0
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
test esi, esi
je 0x112d9a6
mov ebx, dword [esp]
mov esi, dword [ebx + 4]
test esi, 0x41000
jne 0x112d9a6
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x112dd70
mov esi, dword [esp]
mov eax, dword [esp + 8]
mov edx, esi
call fcn.010afdf0
mov esi, dword [esi + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
test eax, eax
je 0x112d9d3
or word [ebp + 0xa], 0x1000
test esi, 3
jne 0x112db68
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov dword [ebp + 0x14], 0xffffffff
mov dword [ebp + 0x10], 0xffffffff
mov dword [ebp + 0x28], eax
lea eax, [edi - 0x2d]
mov dword [ebp + 0x2c], edx
mov word [ebp + 0xc], cx
cmp al, 0xc
ja 0x112db20
mov edx, 0x1f31
bt edx, eax
jae 0x112db20
mov eax, dword [esp]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x112da47
jmp 0x112da4d
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x112da4d
test byte [ebx + 5], 0x20
jne 0x112da40
mov eax, dword [esp]
mov esi, dword [eax + 0x10]
test esi, esi
jne 0x112da67
jmp 0x112da6d
mov esi, dword [esi + 0xc]
test esi, esi
je 0x112da6d
test byte [esi + 5], 0x20
jne 0x112da60
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
and eax, dword [ebp + 0x20]
and edx, dword [ebp + 0x24]
or eax, edx
setne al
movzx eax, al
neg eax
and ax, 0xc801
add ax, 0x3fff
mov word [esp + 0x10], ax
mov eax, dword [ebp + 0x1c]
test eax, eax
jle 0x112daa6
mov edx, dword [ebx + 0x14]
lea eax, [eax + eax*4 - 5]
lea eax, [edx + eax*4]
mov ebx, dword [eax + 8]
lea eax, [esp + 0x78]
sub esp, 0xc
mov ecx, ebx
mov dword [esp + 0x54], eax
mov edx, eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
call fcn.010e12e0
add esp, 0x10
test eax, eax
je 0x112dcc0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov dword [ebp + 0x18], eax
mov eax, edi
mov dword [ebp + 0x14], edx
cmp al, 0x31
je 0x112e9c0
cmp al, 0x32
je 0x112e9e0
cmp al, 0x2d
je 0x112dd88
mov eax, dword [esp + 0x38]
lea ecx, [eax - 0x35]
mov eax, 2
shl eax, cl
and ax, word [esp + 0x10]
mov word [ebp + 0xc], ax
test esi, esi
jne 0x112dda3
lea esi, [esi]
mov eax, dword [esp]
jmp 0x112dd0d
mov eax, dword [esp]
movzx ecx, byte [eax]
cmp cl, 0x30
jne 0x112dc10
mov eax, dword [esp + 4]
cmp byte [eax + 8], 0x2c
je 0x112ea38
lea esi, [esi]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
add edx, dword [eax + 0x18]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
or dword [edx + 0x20], edi
or dword [edx + 0x24], ebp
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, esi
mov eax, dword [esp]
and ebx, 1
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
cmp eax, dword [ebx + 0x1f8]
je 0x112e0e8
mov edx, dword [ebx + 0x1f4]
cmp edx, 1
jle 0x112de80
mov ecx, 1
jmp 0x112dbab
add ecx, 1
cmp ecx, edx
je 0x112de80
cmp eax, dword [ebx + ecx*4 + 0x1f8]
jne 0x112dba0
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x112e0f8
mov ebx, eax
or dword [esp + 0x20], eax
mov esi, edx
or dword [esp + 0x24], edx
add ebx, 0xffffffff
adc esi, 0xffffffff
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x24]
shrd ebx, esi, 1
shr esi, 1
cmp ebx, eax
sbb esi, edx
jb 0x112d9ef
jmp 0x112de98
cmp cl, 0x2b
je 0x112e128
cmp cl, 0x33
je 0x112df60
mov eax, dword [esp + 4]
movzx eax, byte [eax + 8]
cmp cl, 0xac
jne 0x112dcb8
cmp al, 0x2c
jne 0x112db40
mov esi, dword [esp + 0x18]
mov edi, dword [esp]
mov esi, dword [esi]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x58], esi
test edx, edx
je 0x112dcb8
sub esp, 8
mov ebx, dword [edx]
mov edx, dword [edi + 8]
mov eax, esi
push 0
push 1
mov ecx, ebx
call fcn.010cc640
add esp, 0x10
test eax, eax
je 0x112f1ba
mov edx, dword [eax + 4]
test dl, 4
je 0x112f1ba
mov eax, dword [eax + 8]
movzx ecx, word [eax]
mov word [esp + 0x74], cx
movzx eax, byte [eax + 2]
mov byte [esp + 0x76], al
cmp ebx, 2
jle 0x112f514
mov esi, dword [esp]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x30]
cmp byte [eax], 0x75
je 0x112f18c
mov eax, dword [esp + 4]
movzx ecx, byte [esi]
movzx eax, byte [eax + 8]
lea esi, [esi]
lea edx, [ecx - 0x2d]
and edx, 0xfffffff7
jmp 0x112dd1e
cmp dword [esp + 0x38], 0x2d
je 0x112dd95
test esi, esi
je 0x112dcf0
sub esp, 0xc
mov ecx, esi
push dword [esp + 0x44]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
call fcn.010e12e0
add esp, 0x10
test eax, eax
jne 0x112ddc4
cmp dword [esp + 0x38], 0x32
jne 0x112db18
mov eax, dword [esp]
mov esi, dword [eax + 4]
test esi, 1
je 0x112ec40
movzx ecx, byte [eax]
lea edx, [ecx - 0x2d]
and edx, 0xfffffff7
mov eax, dword [esp + 4]
movzx eax, byte [eax + 8]
test dl, dl
jne 0x112ded0
mov edi, dword [esp]
mov edx, dword [edi + 0xc]
movzx ecx, byte [edx]
cmp cl, 0xb0
jne 0x112dd38
movzx ecx, byte [edx + 2]
cmp cl, 0xb1
je 0x112e118
cmp cl, 0x8a
je 0x112df10
mov edi, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ecx, dword [edi + 0x18]
lea edx, [ecx + esi]
cmp al, 0x2c
jne 0x112db4b
mov edx, dword [esp + 0xc]
add edx, ecx
jmp 0x112db4b
or eax, dword [esp + 0x30]
or edx, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x112d9bf
movzx eax, word [esp + 0x10]
and ax, 0x80
mov word [ebp + 0xc], ax
or word [ebp + 0xa], 0x800
test esi, esi
je 0x112db18
sub esp, 0xc
mov ecx, esi
push dword [esp + 0x44]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
call fcn.010e12e0
add esp, 0x10
test eax, eax
je 0x112db18
test byte [esi + 4], 0x20
jne 0x112dcf0
mov ecx, dword [ebp + 0x14]
test ecx, ecx
js 0x112ed9f
sub esp, 0xc
xor ecx, ecx
push 0
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
mov eax, esi
call fcn.010bb290
add esp, 0x10
cmp byte [esi + 0x57], 0
mov ebx, eax
je 0x112ee92
test eax, eax
je 0x112db59
add esp, 0x8c
mov edx, eax
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.010adc60
mov esi, dword [esp]
mov eax, dword [esp + 0x18]
mov edx, esi
call fcn.010d6570
test eax, eax
jne 0x112db59
mov eax, esi
mov esi, dword [esi + 4]
mov edx, dword [eax + 0x14]
test esi, 0x1000
jne 0x112ec30
test edx, edx
je 0x112e70a
mov eax, dword [esp + 8]
call fcn.010afbb0
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
or ecx, eax
or ebx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
jmp 0x112d9bf
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x112de98
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax]
test ebx, ebx
jle 0x112deb8
test byte [eax + 0x2c], 0x40
je 0x112deb8
sub esp, 8
push 0x1430f40
push dword [esp + 0x24]
call fcn.010b78f0
add esp, 0x10
jmp 0x112db59
mov eax, dword [esp]
and esi, 0xfffffffd
mov dword [eax + 4], esi
jmp 0x112d9df
cmp cl, 0x31
jne 0x112ecb0
mov esi, dword [ebp + 0x1c]
test esi, esi
jne 0x112deef
mov edi, dword [esp]
mov edx, dword [edi + 0xc]
cmp byte [edx], 0xb1
je 0x112eb20
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi + 0x18]
lea edx, [ecx + edi]
cmp al, 0x2c
jne 0x112db4b
jmp 0x112dd60
mov ecx, dword [edx + 0x14]
mov ecx, dword [ecx + 0x1c]
mov edi, dword [ecx]
cmp edi, 1
jle 0x112dd4a
mov esi, dword [esp]
mov ebx, dword [esi + 0x10]
movzx ecx, byte [ebx]
cmp cl, 0xb0
jne 0x112df33
movzx ecx, byte [ebx + 2]
cmp cl, 0xb1
je 0x112ea28
cmp cl, 0x8a
je 0x112e8f8
mov edi, dword [esp + 4]
mov ecx, dword [edi + 0x18]
mov edi, dword [esp + 0xc]
lea edx, [ecx + edi]
cmp al, 0x2c
jne 0x112db4b
jmp 0x112dd60
mov eax, dword [esp]
mov esi, dword [eax + 0xc]
cmp byte [esi], 0xa7
je 0x112e645
mov eax, dword [esp + 4]
cmp byte [eax + 8], 0x2c
jne 0x112db40
mov byte [esp + 0x10], 0
xor edi, edi
lea esi, [esi]
mov eax, dword [esp]
xor ecx, ecx
cmp byte [esi], 0xa7
mov ebp, esi
mov ebx, dword [eax + 0x10]
jne 0x112dfa3
mov eax, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [eax + 0x2b], 1
sete cl
test ebx, ebx
je 0x112dfb0
cmp byte [ebx], 0xa7
je 0x112f0cb
mov edx, edi
mov eax, 0x46
sub eax, edx
cmp byte [esp + 0x10], 0
mov edx, 0x44
cmove edx, eax
mov byte [esp + 0x1c], dl
test ecx, ecx
je 0x112db40
xor ecx, ecx
mov dword [esp + 0x10], ecx
jmp 0x112e028
mov eax, dword [esp + 8]
mov edx, ebx
call fcn.010afdf0
mov esi, eax
mov edi, edx
test ebp, ebp
je 0x112e728
mov eax, dword [esp + 8]
mov edx, ebp
call fcn.010afdf0
and eax, esi
and edx, edi
or eax, edx
je 0x112e728
mov eax, dword [esp + 0x10]
mov edx, ebp
mov dword [esp + 0x10], 0
mov ebp, ebx
test eax, eax
je 0x112db40
mov ebx, edx
test ebx, ebx
jne 0x112dfe0
test ebp, ebp
je 0x112e03b
mov eax, dword [esp + 8]
mov edx, ebp
call fcn.010afdf0
xor eax, eax
xor esi, esi
xor edi, edi
sub esp, 0xc
mov edx, 0x2e
xor ecx, ecx
push eax
mov eax, dword [esp + 0x28]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
mov eax, dword [esp]
test byte [eax + 4], 1
je 0x112e071
test edx, edx
je 0x112e071
mov eax, dword [eax + 0x24]
or dword [edx + 4], 1
mov dword [edx + 0x24], eax
mov eax, dword [esp + 4]
mov ecx, 3
call fcn.010b8f00
mov edx, eax
mov eax, dword [esp + 4]
lea ecx, [edx + edx*2]
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax + 0x18]
shl ecx, 4
add ecx, eax
mov dword [ecx + 0x20], esi
mov esi, 0x40
mov dword [ecx + 0x14], edx
movsx edx, word [ebp + 0x20]
mov word [ecx + 0xc], si
mov esi, dword [esp + 0xc]
mov dword [ecx + 0x18], edx
movzx edx, byte [esp + 0x1c]
add eax, esi
mov dword [ecx + 0x24], edi
mov edi, dword [esp + 0x28]
mov byte [ecx + 0xf], dl
movzx edx, word [eax + 8]
mov dword [ecx + 0x10], edi
mov word [ecx + 8], dx
mov edx, dword [eax + 0x2c]
add byte [eax + 0xe], 1
or word [eax + 0xa], 8
mov eax, dword [eax + 0x28]
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x28], eax
jmp 0x112e00e
mov eax, 1
xor edx, edx
jmp 0x112dbc5
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
shrd ecx, ebx, 1
shr ebx, 1
cmp ecx, eax
sbb ebx, edx
jb 0x112d9df
jmp 0x112de88
mov ecx, dword [edx + 0x14]
mov edi, dword [ecx]
jmp 0x112df18
mov esi, dword [esp + 4]
mov ebp, dword [esi]
mov edi, esi
mov esi, dword [esp + 0xc]
add esi, dword [edi + 0x18]
mov eax, dword [ebp]
mov edi, dword [esi]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], edi
mov dword [esp + 0x58], eax
test eax, eax
je 0x112e630
mov edx, 0x1a8
xor ecx, ecx
call fcn.010b7ad0
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x112ec9d
lea edi, [ebx + 4]
mov ecx, ebx
xor eax, eax
mov dword [ebx], 0
mov dword [ebx + 0x1a4], 0
and edi, 0xfffffffc
lea edx, [ebx + 0x20]
sub ecx, edi
add ecx, 0x1a8
shr ecx, 2
rep stosd dword es:[edi], eax
lea edi, [ebx + 0x24]
mov ecx, edx
mov dword [esi + 0x18], ebx
and edi, 0xfffffffc
sub ecx, edi
or word [esi + 0xa], 0x10
add ecx, 0x180
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x19c], 0
shr ecx, 2
rep stosd dword es:[edi], eax
mov dword [ebx + 0x18], edx
mov eax, ebx
mov ecx, 0x2b
mov dword [ebx], ebp
mov byte [ebx + 9], 0
mov edx, dword [esp + 0x68]
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 8
call fcn.010b91c0
mov eax, dword [ebx + 0xc]
mov ebx, eax
mov dword [esp + 0x10], eax
sub ebx, 1
js 0x112f1cd
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x30]
mov esi, ebx
mov ebx, dword [esp + 0x1c]
lea esi, cs:[esi]
mov ecx, esi
mov edx, edi
mov eax, ebx
call fcn.0112d8d0
sub esi, 1
jae 0x112e220
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
jne 0x112e610
mov eax, dword [esp + 0x30]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov eax, edi
sub eax, 1
mov dword [esp + 0x10], eax
js 0x112f1db
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x60], esi
nop
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x10]
movzx eax, word [ebx + 0xc]
not edx
shr edx, 0x1f
mov dword [esp + 0x20], edx
mov edi, edx
test ax, 0x1ff
je 0x112e7d0
movzx edx, word [ebx + 0xa]
test dl, 8
jne 0x112e3d0
mov edi, dword [ebp + 0x1f8]
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x5c], edi
cmp esi, edi
je 0x112e321
mov edi, dword [ebp + 0x1f4]
cmp edi, 1
jle 0x112ec88
mov ecx, 1
jmp 0x112e2fb
add ecx, 1
cmp ecx, edi
je 0x112ec88
cmp esi, dword [ebp + ecx*4 + 0x1f8]
jne 0x112e2f0
mov esi, 1
xor edi, edi
shld edi, esi, cl
shl esi, cl
test cl, 0x20
je 0x112e319
mov edi, esi
xor esi, esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
and edx, 2
je 0x112e388
mov edx, dword [ebx + 0x10]
mov esi, dword [esp + 0x30]
lea edx, [edx + edx*2]
shl edx, 4
add edx, dword [esi + 0x18]
mov edx, dword [edx + 0x14]
cmp dword [esp + 0x5c], edx
je 0x112f0ff
mov esi, dword [ebp + 0x1f4]
cmp esi, 1
jle 0x112e388
mov ecx, 1
jmp 0x112e35f
add ecx, 1
cmp esi, ecx
je 0x112e388
cmp edx, dword [ebp + ecx*4 + 0x1f8]
jne 0x112e358
mov edi, ecx
shr edi, 5
and edi, 1
mov esi, edi
shl edi, cl
or dword [esp + 0x4c], edi
xor esi, 1
shl esi, cl
or dword [esp + 0x48], esi
lea esi, [esi]
mov edx, dword [esp + 0x48]
and dword [esp + 0x38], edx
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
and dword [esp + 0x3c], ecx
mov edi, dword [esp + 0x3c]
mov edx, esi
or edx, edi
movzx edi, byte [esp + 0x20]
setne dl
and edi, edx
test al, 2
je 0x112e8e0
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
and dword [esp + 0x50], edx
and dword [esp + 0x54], ecx
lea esi, cs:[esi]
nop
mov eax, edi
add ebx, 0x30
test al, al
jne 0x112e280
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ecx, 0x200
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x60]
mov dword [ebx + 0x1a0], eax
or eax, edx
mov dword [ebx + 0x1a4], edx
mov word [esi + 0xc], cx
mov dword [esi + 0x14], 0xffffffff
je 0x112e420
mov eax, dword [esp + 4]
mov byte [eax + 9], 1
cmp dword [ebx + 0xc], 2
je 0x112f225
nop
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov eax, esi
or eax, edi
je 0x112e610
mov eax, dword [esp + 0x50]
xor edx, edx
mov dword [esp + 0x10], 2
mov dword [esp + 0x20], 0xffffffff
and eax, 1
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
lea esi, cs:[esi]
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov edi, eax
mov dword [esp + 0x38], eax
sub edi, 1
js 0x112e610
and word [ebx + 0xa], 0xffbf
mov esi, dword [ebx + 0x14]
cmp dword [esp + 0x20], esi
je 0x112e7b8
cmp esi, dword [ebp + 0x1f8]
je 0x112ec20
mov eax, dword [ebp + 0x1f4]
cmp eax, 1
jle 0x112e7b8
mov ecx, 1
jmp 0x112e4b3
add ecx, 1
cmp eax, ecx
je 0x112e7b8
cmp esi, dword [ebp + ecx*4 + 0x1f8]
jne 0x112e4a8
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
and edx, dword [esp + 0x54]
and eax, dword [esp + 0x50]
mov ecx, edx
mov edx, eax
mov eax, edx
or eax, ecx
je 0x112e7b8
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], eax
lea esi, cs:[esi]
cmp esi, dword [ebx + 0x14]
je 0x112e748
movzx eax, word [ebx + 0xa]
and eax, 0xffffffbf
sub edi, 1
mov word [ebx + 0xa], ax
add ebx, 0x30
cmp edi, 0xffffffff
jne 0x112e4f8
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
sub esi, 1
js 0x112fb65
xor edx, edx
xor edi, edi
nop
test byte [ebx + 0xa], 0x40
je 0x112e567
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x112e554
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x68]
call fcn.010bb290
add esp, 0x10
mov edx, eax
mov eax, dword [ebp]
mov ecx, edx
mov edx, edi
call fcn.010c6480
mov edi, eax
mov eax, dword [ebx]
mov edx, dword [eax + 0xc]
sub esi, 1
add ebx, 0x30
cmp esi, 0xffffffff
jne 0x112e530
test edx, edx
je 0x112e58b
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x68]
call fcn.010bb290
add esp, 0x10
mov edx, eax
sub esp, 0xc
mov ecx, edx
mov edx, 0x31
push 0
mov eax, dword [esp + 0x7c]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112f4fc
mov esi, dword [esp + 0x68]
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
and eax, 3
je 0x112e5c6
or dword [edx + 4], eax
mov eax, dword [esi + 0x24]
mov dword [edx + 0x24], eax
mov esi, dword [esp + 4]
mov dword [edx + 0x14], edi
mov ecx, 3
mov eax, esi
call fcn.010b8f00
mov edx, esi
mov ecx, eax
mov ebx, eax
mov eax, dword [esp + 0x1c]
call fcn.0112d8d0
mov eax, dword [esi + 0x18]
lea edx, [ebx + ebx*2]
mov esi, dword [esp + 0x28]
shl edx, 4
add edx, eax
mov dword [edx + 0x10], esi
mov esi, dword [esp + 0xc]
add eax, esi
movzx ecx, word [eax + 8]
mov word [edx + 8], cx
add byte [eax + 0xe], 1
lea esi, [esi]
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0xc]
add ebp, dword [eax + 0x18]
mov esi, dword [esp]
movzx eax, byte [eax + 8]
movzx ecx, byte [esi]
lea edx, [ecx - 0x2d]
and edx, 0xfffffff7
jmp 0x112dd1e
mov eax, 0x1a8
xor edx, edx
call fcn.010a3110
mov dword [esp + 0x30], eax
jmp 0x112e162
cmp word [esi + 0x20], 0
js 0x112df6f
mov eax, dword [esp]
mov eax, dword [eax + 4]
and eax, 1
mov dword [esp + 0x10], eax
jne 0x112df6f
mov eax, dword [esp + 0x2c]
mov edx, 0x34
xor ecx, ecx
call fcn.010b7ad0
mov ebx, eax
test eax, eax
je 0x112e6b3
lea edi, [ebx + 5]
lea eax, [eax + 1]
mov dword [ebx + 1], 0
and edi, 0xfffffffc
mov dword [ebx + 0x30], 0
sub eax, edi
mov ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x33
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, 0xffffffff
mov byte [ebx], 0x79
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
sub esp, 0xc
xor ecx, ecx
mov edx, esi
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
mov edx, 0x36
mov dword [esp], ebx
mov ecx, eax
mov eax, dword [esp + 0x28]
call fcn.010cd1d0
mov edi, dword [esp + 0x14]
mov ecx, 0x83
mov edx, eax
mov eax, edi
call fcn.010b8f00
add esp, 0x10
test eax, eax
jne 0x112f499
mov eax, dword [esp]
movzx ecx, byte [eax]
movzx eax, byte [edi + 8]
lea edx, [ecx - 0x2d]
and edx, 0xfffffff7
jmp 0x112dd1e
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x24], edx
xor edx, edx
jmp 0x112de6f
sub esp, 0xc
xor ecx, ecx
mov edx, ebx
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
add esp, 0x10
jmp 0x112e041
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
je 0x112e770
cmp dword [esp + 0x10], 1
je 0x112e610
mov dword [esp + 0x10], 1
mov dword [esp + 0x20], esi
jmp 0x112e458
mov ecx, dword [ebx]
cmp eax, 0xfffffffe
je 0x112ebe0
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x48], ecx
call fcn.0109a6f0
mov ecx, dword [esp + 0x48]
movsx edx, al
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x38], edx
call fcn.0109a6f0
mov edx, dword [esp + 0x38]
test edx, edx
je 0x112e7a9
movsx eax, al
cmp eax, edx
jne 0x112e751
movzx eax, word [ebx + 0xa]
or eax, 0x40
jmp 0x112e508
sub edi, 1
add ebx, 0x30
cmp edi, 0xffffffff
jne 0x112e471
jmp 0x112e610
mov eax, dword [esp + 0x58]
mov edx, 0x1a0
xor ecx, ecx
call fcn.010b7ad0
mov esi, eax
test eax, eax
je 0x112e8e0
lea edx, [esi + 0x20]
lea edi, [esi + 0x24]
mov dword [ebx + 0x18], eax
mov eax, 0x400
and edi, 0xfffffffc
mov ecx, edx
mov word [ebx + 0xc], ax
xor eax, eax
sub ecx, edi
or word [ebx + 0xa], 0x20
add ecx, 0x180
mov dword [ebx + 0x14], 0xffffffff
shr ecx, 2
mov dword [esi + 0x20], 0
mov dword [esi + 0x19c], 0
rep stosd dword es:[edi], eax
mov ecx, 0x2c
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov byte [esi + 9], 0
mov dword [esi + 0x18], edx
mov edx, dword [ebx]
mov dword [esi], eax
mov eax, esi
mov dword [esi + 4], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 8
call fcn.010b91c0
mov edi, dword [esi + 0xc]
sub edi, 1
js 0x112e894
mov dword [esp + 0x48], ebx
mov ebx, edi
mov edi, dword [esp + 0x1c]
lea esi, cs:[esi]
mov ecx, ebx
mov edx, esi
mov eax, edi
call fcn.0112d8d0
sub ebx, 1
jae 0x112e880
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x58]
cmp byte [eax + 0x57], 0
je 0x112efd4
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
mov edx, 0x200
mov dword [eax + 0x1a0], 0
mov dword [eax + 0x1a4], 0
mov word [esi + 0xc], dx
mov dword [esi + 0x14], 0xffffffff
jmp 0x112e610
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
jmp 0x112e3d0
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
cmp edi, ecx
jne 0x112df45
test byte [edx + 5], 0x10
je 0x112e930
test byte [ebx + 5], 0x10
je 0x112e930
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x18]
mov esi, dword [esp + 0xc]
lea edx, [ecx + esi]
cmp al, 0x2c
jne 0x112db4b
jmp 0x112dd60
cmp al, 0x2c
jne 0x112db40
mov ebp, dword [esp]
xor ebx, ebx
sub esp, 0xc
mov ecx, ebx
push edi
mov eax, dword [esp + 0x28]
call fcn.010cd2f0
mov edx, dword [ebp + 0x10]
mov ecx, ebx
mov dword [esp], edi
mov esi, eax
mov eax, dword [esp + 0x28]
call fcn.010cd2f0
movzx edx, byte [ebp]
mov ecx, esi
mov dword [esp], eax
mov eax, dword [esp + 0x28]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112e98b
mov eax, dword [ebp + 4]
and eax, 3
je 0x112e98b
or dword [edx + 4], eax
mov eax, dword [ebp + 0x24]
mov dword [edx + 0x24], eax
mov esi, dword [esp + 4]
mov ecx, 0x8001
add ebx, 1
mov eax, esi
call fcn.010b8f00
mov edx, esi
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.0112d8d0
cmp ebx, edi
je 0x112ee74
mov edx, dword [ebp + 0xc]
jmp 0x112e93d
movzx eax, word [esp + 0x10]
and eax, 1
mov word [ebp + 0xc], ax
test esi, esi
jne 0x112dccf
jmp 0x112db18
movzx eax, word [esp + 0x10]
and ax, 0x100
mov word [ebp + 0xc], ax
test esi, esi
je 0x112dcfb
sub esp, 0xc
mov ecx, esi
push 0x32
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
call fcn.010e12e0
add esp, 0x10
test eax, eax
je 0x112dcfb
test byte [esi + 4], 0x20
je 0x112ddce
jmp 0x112dcfb
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx]
jmp 0x112e900
mov eax, dword [esp]
mov ebp, dword [esp + 4]
xor esi, esi
mov eax, dword [eax + 0x14]
mov edi, dword [eax + 8]
lea ebx, [eax + 8]
mov dword [esp + 0x10], eax
test edi, edi
je 0x112ea69
sub esp, 0xc
mov edx, edi
xor ecx, ecx
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
add esp, 0x10
mov edi, eax
mov eax, dword [esp]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x112ea88
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
add esp, 0x10
mov edx, eax
sub esp, 0xc
movzx eax, byte [esi + 0x1437ee0]
mov ecx, edx
push edi
mov edx, eax
mov eax, dword [esp + 0x28]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112eac1
mov edi, dword [esp]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
and eax, 3
je 0x112eac1
or dword [edx + 4], eax
mov eax, dword [edi + 0x24]
mov dword [edx + 0x24], eax
mov ecx, 3
mov eax, ebp
add ebx, 0x14
call fcn.010b8f00
mov edx, ebp
mov edi, eax
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.0112d8d0
mov eax, dword [ebp + 0x18]
mov edx, dword [esp + 0xc]
lea ecx, [edi + edi*2]
shl ecx, 4
mov edi, dword [esp + 0x28]
add edx, eax
add eax, ecx
movzx ecx, word [edx + 8]
mov dword [eax + 0x10], edi
mov word [eax + 8], cx
add byte [edx + 0xe], 1
test esi, esi
jne 0x112eca9
mov edi, dword [ebx]
mov esi, 1
test edi, edi
jne 0x112ea52
jmp 0x112ea69
test byte [edi + 5], 0x10
je 0x112e914
mov ecx, dword [edi + 0x14]
mov ebp, dword [ecx + 0x34]
test ebp, ebp
je 0x112eb3e
test byte [ecx + 5], 2
je 0x112e914
mov edi, dword [ecx + 0x44]
test edi, edi
jne 0x112e914
cmp al, 0x2c
jne 0x112db40
mov ebp, dword [esp]
mov edi, dword [esp + 4]
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
cmp eax, esi
jle 0x112db40
mov ecx, 0x8002
mov edx, ebp
mov eax, edi
add esi, 1
call fcn.010b8f00
mov edx, edi
mov ecx, eax
lea ebx, [eax + eax*2]
mov eax, dword [edi + 0x18]
shl ebx, 4
mov dword [eax + ebx + 0x1c], esi
mov eax, dword [esp + 0x1c]
call fcn.0112d8d0
mov eax, dword [edi + 0x18]
mov edx, dword [esp + 0x28]
add ebx, eax
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0xc]
add eax, edx
movzx edx, word [eax + 8]
mov word [ebx + 8], dx
add byte [eax + 0xe], 1
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp al, 0xb0
jne 0x112ebbc
movzx eax, byte [edx + 2]
cmp al, 0xb1
je 0x112eb58
cmp al, 0x8a
jne 0x112db40
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, esi
jg 0x112eb65
jmp 0x112db40
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x112efc5
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x112efc5
sub esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
call fcn.010e08d0
add esp, 0x10
test eax, eax
jne 0x112e751
mov ecx, dword [ebx]
jmp 0x112e77b
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
jmp 0x112e4d9
mov eax, dword [esp + 8]
call fcn.010afe80
jmp 0x112de5b
mov eax, ebx
call fcn.0109a230
test eax, eax
mov eax, dword [esp]
jne 0x112dd0d
xor edx, edx
or esi, 0x20000000
mov byte [eax], 0xaa
mov ecx, 0xffffffaa
mov dword [eax + 8], 0x142d292
mov dword [eax + 4], esi
mov word [ebp + 0xc], dx
mov edx, 0x75
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x2c], 0
jmp 0x112dd16
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
jmp 0x112e321
mov dword [esi + 0x18], 0
jmp 0x112e610
mov ebp, edx
jmp 0x112db18
cmp al, 0x2c
jne 0x112db40
cmp cl, 0xac
jne 0x112ed70
mov eax, dword [esp]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x112db40
cmp dword [ebx], 2
jne 0x112db40
mov ebp, dword [ebx + 0x1c]
cmp byte [ebp], 0xa7
je 0x112f109
mov ebp, dword [ebx + 8]
cmp byte [ebp], 0xa7
jne 0x112db40
mov eax, dword [ebp + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x112db40
mov eax, dword [eax + 0x34]
test eax, eax
je 0x112fe0f
mov edx, dword [esp + 0x2c]
jmp 0x112ed1b
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1184fe0
cmp edx, dword [eax]
jne 0x112ed10
mov eax, dword [eax + 8]
mov edx, dword [eax]
mov ecx, dword [edx + 0x48]
test ecx, ecx
je 0x112db40
sub esp, 0xc
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x84]
push edx
mov esi, dword [esp + 0x14]
push dword [esi + 8]
push 2
push eax
call ecx
add esp, 0x20
cmp eax, 0x95
jle 0x112db40
xor ecx, ecx
mov byte [esp + 0x1c], al
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0x10], ecx
jmp 0x112e028
cmp cl, 0x34
sete byte [esp + 0x10]
cmp cl, 0xab
movzx ebx, byte [esp + 0x10]
sete al
or eax, ebx
mov edi, eax
cmp cl, 0x33
je 0x112ed94
test al, al
je 0x112fe03
mov eax, dword [esp]
mov esi, dword [eax + 0xc]
jmp 0x112df88
mov ebx, dword [esp]
mov edi, ebp
xor esi, esi
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
cmp byte [edx], 0xb1
je 0x112edde
cmp byte [ecx], 0xb1
je 0x112edde
mov eax, dword [esp + 0x18]
call fcn.010d2c60
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
call fcn.010d2c60
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
cmp dword [esp + 0x38], eax
je 0x112ede5
xor dword [ebx + 4], 0x400
mov dword [ebx + 0xc], ecx
movzx ecx, byte [ebx]
mov dword [ebx + 0x10], edx
cmp cl, 0x35
jbe 0x112edfe
sub ecx, 0x36
xor ecx, 2
add ecx, 0x36
mov byte [ebx], cl
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x14], edx
or eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
or edx, dword [esp + 0x44]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [edi + 0x28], eax
mov eax, 1
mov dword [edi + 0x2c], edx
cmp cl, 0x31
je 0x112ee58
mov eax, 0x100
cmp cl, 0x32
je 0x112ee58
mov eax, pe_nt_image_headers32
cmp cl, 0x2d
je 0x112ee58
sub ecx, 0x35
mov eax, 2
shl eax, cl
add eax, esi
and ax, word [esp + 0x10]
mov word [edi + 0xc], ax
mov eax, dword [esp]
movzx ecx, byte [eax]
lea edx, [ecx - 0x2d]
and edx, 0xfffffff7
jmp 0x112dd16
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
add edx, dword [eax + 0x18]
mov eax, 0x2000
or word [edx + 0xa], 6
mov word [edx + 0xc], ax
jmp 0x112db4b
mov esi, dword [esp + 4]
mov edx, eax
mov ecx, 3
mov eax, esi
call fcn.010b8f00
test eax, eax
je 0x112db59
mov edx, dword [esi + 0x18]
lea eax, [eax + eax*2]
shl eax, 4
lea edi, [edx + eax]
mov eax, dword [esp + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0xc]
lea ebp, [edx + eax]
movzx eax, word [ebp + 8]
mov word [edi + 8], ax
add byte [ebp + 0xe], 1
cmp dword [esp + 0x38], 0x2d
jne 0x112eedf
or word [edi + 0xa], 0x800
mov eax, dword [esp + 0x18]
or word [ebp + 0xa], 8
mov eax, dword [eax]
test byte [eax + 0x50], 0x80
jne 0x112eda4
movzx eax, byte [ebx]
sub eax, 0x2d
test al, 0xf7
jne 0x112eda4
mov ecx, dword [ebx + 4]
test cl, 1
mov dword [esp + 0x58], ecx
jne 0x112eda4
mov edx, dword [ebx + 0xc]
mov eax, edx
mov dword [esp + 0x48], edx
call fcn.0109a6f0
mov esi, dword [ebx + 0x10]
mov byte [esp + 0x38], al
mov eax, esi
call fcn.0109a6f0
cmp byte [esp + 0x38], al
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
je 0x112ef4f
cmp byte [esp + 0x38], 0x42
jle 0x112eda4
cmp al, 0x42
jle 0x112eda4
and ch, 4
je 0x112fb8e
mov eax, dword [esp + 0x18]
mov ecx, edx
mov edx, esi
call fcn.010d2c60
mov esi, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x38], esi
test eax, eax
je 0x112efb5
cmp dword [eax + 0xc], 0x109dbd0
je 0x112efb5
mov eax, dword [esp + 0x18]
call fcn.010d2a80
mov esi, eax
test eax, eax
je 0x112fd1d
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
call fcn.010d2a80
test eax, eax
je 0x112fd0f
mov edx, dword [eax]
mov eax, dword [esi]
call fcn.01097080
test eax, eax
jne 0x112eda4
or word [ebp + 0xc], 0x800
mov esi, 0x800
jmp 0x112eda6
cmp dword [esp + 0x5c], edx
jne 0x112e751
jmp 0x112e77b
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0xc]
test esi, esi
jle 0x112e8a9
mov dword [esp + 0x48], 0
xor edx, edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebx
mov ebx, esi
lea esi, [esi]
mov ecx, dword [eax]
movzx ecx, byte [ecx]
sub ecx, 0x2d
cmp cl, 0xc
ja 0x112f0b8
mov esi, 0x1f31
bt esi, ecx
jae 0x112f0b8
mov esi, dword [eax + 0x14]
cmp esi, dword [ebp + 0x1f8]
je 0x112f0c4
mov edi, dword [ebp + 0x1f4]
cmp edi, 1
jle 0x112f069
mov ecx, 1
jmp 0x112f047
add ecx, 1
cmp edi, ecx
je 0x112f069
cmp esi, dword [ebp + ecx*4 + 0x1f8]
jne 0x112f040
mov edi, ecx
shr edi, 5
and edi, 1
mov esi, edi
shl edi, cl
or dword [esp + 0x4c], edi
xor esi, 1
shl esi, cl
or dword [esp + 0x48], esi
add edx, 1
add eax, 0x30
cmp edx, ebx
jne 0x112f000
mov esi, dword [esp + 0x48]
and dword [esp + 0x38], esi
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x54], 0
and dword [esp + 0x3c], edi
mov edi, dword [esp + 0x3c]
mov eax, esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x50], 0
or eax, edi
movzx edi, byte [esp + 0x20]
setne al
and edi, eax
jmp 0x112e3d0
cmp word [eax + 0xc], 0x40
jne 0x112f069
jmp 0x112f01f
or dword [esp + 0x48], 1
jmp 0x112f069
mov eax, dword [ebx + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x112dfb0
cmp byte [esp + 0x10], 0
jne 0x112fb30
mov eax, 0x46
mov edx, edi
mov dword [esp + 0x10], ecx
sub eax, edx
mov byte [esp + 0x1c], al
mov eax, ebx
mov ebx, esi
mov ebp, eax
jmp 0x112e028
or dword [esp + 0x48], 1
jmp 0x112e388
mov eax, dword [ebp + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x112ece5
mov eax, dword [esp]
mov dword [esp + 0x1c], ebp
xor esi, esi
mov edi, dword [eax + 8]
mov dword [esp + 0x10], ebx
mov edx, dword [esi*8 + 0x1437ec0]
mov eax, edi
jmp 0x112f14d
movzx ebx, byte [ebp + 0x143e140]
cmp byte [ecx + 0x143e140], bl
jne 0x112f17b
add eax, 1
add edx, 1
movzx ecx, byte [eax]
movzx ebp, byte [edx]
cmp ecx, ebp
jne 0x112f138
test ecx, ecx
jne 0x112f147
mov ebx, dword [esp + 0x10]
movzx eax, byte [esi*8 + 0x1437ec4]
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [ebx + 8]
mov byte [esp + 0x1c], al
jmp 0x112e028
add esi, 1
mov ebx, dword [esp + 0x10]
cmp esi, 4
jne 0x112f122
jmp 0x112ece5
mov eax, dword [eax + 8]
movzx ebx, byte [eax]
mov byte [esp + 0x20], bl
test bl, bl
je 0x112f1ba
cmp byte [eax + 1], 0
jne 0x112f1ba
movzx eax, byte [esp + 0x20]
cmp al, byte [esp + 0x74]
je 0x112f1ba
movzx eax, byte [esp + 0x20]
cmp al, byte [esp + 0x75]
jne 0x112f519
mov eax, dword [esp]
movzx ecx, byte [eax]
mov eax, dword [esp + 4]
movzx eax, byte [eax + 8]
jmp 0x112dcb8
mov eax, dword [esp + 0x58]
cmp byte [eax + 0x57], 0
jne 0x112e610
mov eax, dword [esp + 0x30]
mov ebx, 0x200
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
mov dword [eax + 0x1a0], 0xffffffff
mov dword [eax + 0x1a4], 0xffffffff
mov word [esi + 0xc], bx
mov dword [esi + 0x14], 0xffffffff
mov esi, dword [esp + 4]
mov byte [esi + 9], 1
cmp dword [eax + 0xc], 2
jne 0x112e432
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
cmp word [eax + 0xc], 0x400
jne 0x112fce0
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x5c], ecx
lea esi, cs:[esi]
mov ecx, dword [eax + 0x18]
mov esi, dword [esp + 0x5c]
cmp dword [ecx + 0xc], esi
jle 0x112e420
lea esi, [esi + esi*2]
shl esi, 4
add esi, dword [ecx + 0x18]
je 0x112e420
mov dword [esp + 0x5c], edx
movzx edi, word [eax + 0x3c]
cmp di, 0x400
jne 0x112f45b
mov dword [esp + 0x10], 1
xor ecx, ecx
mov edx, dword [eax + 0x48]
cmp dword [edx + 0xc], ecx
jle 0x112f438
lea ebx, [ecx + ecx*2]
shl ebx, 4
add ebx, dword [edx + 0x18]
je 0x112f438
mov edx, dword [esp + 0x10]
movzx ecx, word [esi + 0xc]
movzx edi, word [ebx + 0xc]
add edx, 1
mov dword [esp + 0x20], edx
movzx edx, word [esi + 0xa]
or dx, word [ebx + 0xa]
and edx, 0x80
jne 0x112f420
mov edx, ecx
or edx, edi
mov word [esp + 0x38], dx
and ecx, 0x3e
je 0x112f420
test di, 0x3e
je 0x112f420
movzx edx, word [esp + 0x38]
mov edi, edx
mov dword [esp + 0x60], edx
and edi, 0xffe5
je 0x112f302
and edx, 0xffd9
jne 0x112f420
mov ecx, dword [ebx]
mov edx, dword [esi]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x48], edi
mov edi, dword [edx + 0xc]
test edi, edi
je 0x112f450
cmp dword [esp + 0x48], 0
je 0x112f450
sub esp, 0xc
mov edx, edi
xor eax, eax
push 0xffffffffffffffff
mov ecx, dword [esp + 0x58]
call fcn.010e08d0
add esp, 0x10
test eax, eax
jne 0x112f415
mov ecx, dword [ebx]
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
test eax, eax
je 0x112f490
test ecx, ecx
je 0x112f490
sub esp, 0xc
mov edx, eax
xor eax, eax
push 0xffffffffffffffff
call fcn.010e08d0
add esp, 0x10
test eax, eax
jne 0x112f415
mov edx, dword [esi]
mov edi, dword [esp + 0x60]
lea eax, [edi - 1]
test edi, eax
je 0x112f399
movzx eax, word [esp + 0x38]
and eax, 0x18
cmp ax, 1
sbb eax, eax
and eax, 0x18
add eax, 8
mov word [esp + 0x38], ax
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
test edx, edx
je 0x112f415
sub esp, 0xc
xor ecx, ecx
push 0
call fcn.010bb290
add esp, 0x10
mov edi, eax
test eax, eax
je 0x112f415
movzx ebx, word [esp + 0x38]
cmp bx, 2
je 0x112fab9
mov dword [esp + 0x38], esi
mov eax, 0x35
mov edx, 2
lea esi, [esi]
mov ecx, eax
mov esi, edx
add eax, 1
sub ecx, 0x34
shl esi, cl
cmp ebx, esi
jne 0x112f3e0
mov esi, dword [esp + 0x38]
mov byte [edi], al
mov edx, edi
mov edi, dword [esp + 4]
mov ecx, 3
mov eax, edi
call fcn.010b8f00
mov edx, edi
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.0112d8d0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
lea esi, [esi]
mov edi, dword [esp + 0x20]
cmp word [eax + 0x3c], 0x400
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], edi
je 0x112f284
cmp word [eax + 0xc], 0x400
jne 0x112e420
mov esi, dword [esp + 0x5c]
lea edx, [esi + 1]
jmp 0x112f248
cmp dword [esp + 0x48], edi
jne 0x112f420
jmp 0x112f344
movzx edx, word [eax + 0x3a]
or dx, word [esi + 0xa]
and edx, 0x80
movzx ecx, word [esi + 0xc]
jne 0x112f438
mov edx, edi
mov dword [esp + 0x20], 2
lea ebx, [eax + 0x30]
or edx, ecx
mov dword [esp + 0x10], 1
mov word [esp + 0x38], dx
jmp 0x112f2cf
cmp ecx, eax
jne 0x112f415
jmp 0x112f375
mov edi, dword [esp + 4]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x1c]
shl ecx, 4
mov edx, dword [edi + 0x18]
add ecx, edx
mov dword [ecx + 0x14], eax
movsx eax, word [esi + 0x20]
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x18], eax
mov eax, 4
mov word [ecx + 0xc], ax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0xc]
lea ebp, [edx + eax]
movzx eax, word [ebp + 8]
mov edx, dword [ebp + 0x2c]
mov word [ecx + 8], ax
mov eax, dword [ebp + 0x28]
add byte [ebp + 0xe], 1
or word [ebp + 0xa], 8
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
jmp 0x112e6f5
test edi, edi
je 0x112e610
mov eax, dword [esp + 0x58]
mov edx, edi
call fcn.010add50
jmp 0x112e610
mov byte [esp + 0x20], 0
movzx eax, byte [esp + 0x20]
and edx, 8
mov dword [esp + 0x68], edx
mov byte [esp + 0x77], al
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
mov esi, dword [eax + 0x1c]
mov ebx, dword [eax + 8]
mov dword [esp + 0x5c], esi
test ebx, ebx
jne 0x112f553
jmp 0x112fe14
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x1184fe7
mov esi, dword [ebx + 4]
and esi, 0x2000
jne 0x112f548
movzx eax, byte [ebx]
mov dword [esp + 0x60], eax
cmp eax, 0x9c
je 0x112f9e7
cmp dword [esp + 0x60], 0x75
jne 0x112db18
mov edi, dword [ebx + 8]
test edi, edi
je 0x112db18
movzx eax, byte [edi]
mov dword [esp + 0x10], 0
mov byte [esp + 0x50], al
test al, al
je 0x112db18
movzx eax, byte [esp + 0x75]
movzx ecx, byte [esp + 0x74]
mov dword [esp + 0x48], ebp
xor edx, edx
mov byte [esp + 0x30], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x50]
jmp 0x112f5d1
mov edx, ebp
movzx eax, byte [edi + edx]
mov esi, edx
test al, al
je 0x112fcfe
cmp cl, al
je 0x112faa8
cmp byte [esp + 0x30], al
je 0x112faa8
cmp byte [esp + 0x38], al
je 0x112faa8
lea ebp, [edx + 1]
cmp byte [esp + 0x20], al
jne 0x112f5c1
movzx eax, byte [edi + edx + 1]
mov esi, ebp
test al, al
je 0x112f606
add edx, 2
jmp 0x112f5c3
mov byte [esp + 0x30], al
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x48]
cmp dword [esp + 0x38], 1
jle 0x112fb44
cmp byte [edi + esi - 1], 0xff
je 0x112fb55
xor eax, eax
mov dword [esp + 0x50], eax
cmp cl, byte [esp + 0x30]
jne 0x112f642
xor eax, eax
cmp byte [edi + esi + 1], 0
sete al
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], edi
sub esp, 0xc
push edi
call 0x1184e08
add esp, 0x10
mov edx, 0x75
and eax, 0x3fffffff
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x48], eax
sub esp, 0xc
mov ecx, eax
push 0
mov eax, dword [esp + 0x68]
call fcn.010b8620
add esp, 0x10
mov edi, eax
test eax, eax
je 0x112f760
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], ebx
mov byte [eax + esi], 0
xor esi, esi
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x20], eax
xor eax, eax
jmp 0x112f6a5
mov esi, ecx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
movsx ecx, byte [edx + eax]
mov edx, ecx
cmp ecx, ebx
jne 0x112f6c3
mov ebx, dword [esp + 0x30]
movzx edx, byte [ebx + eax + 1]
add eax, 1
mov ebx, dword [esp + 0x30]
lea ecx, [esi + 1]
add eax, 1
mov byte [ebx + ecx - 1], dl
mov ebx, dword [esp + 0x38]
cmp eax, ebx
jl 0x112f6a3
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x6c]
mov byte [eax + esi + 1], 0
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0xa7
je 0x112fc3b
sub esp, 0xc
push 1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
call fcn.010971a0
add esp, 0x10
mov ecx, dword [esp + 0x20]
test eax, eax
jg 0x112fc20
cmp ecx, 1
jne 0x112f72a
mov eax, dword [esp + 0x30]
cmp byte [eax], 0x2d
je 0x112fc20
mov eax, dword [esp + 0x30]
sub esp, 0xc
add esi, eax
movzx edx, byte [esi]
lea eax, [edx + 1]
mov byte [esp + 0x2c], dl
mov byte [esi], al
push 1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
call fcn.010971a0
movzx edx, byte [esp + 0x30]
add esp, 0x10
mov byte [esi], dl
test eax, eax
jg 0x112fc20
cmp dword [esp + 0x60], 0x9c
je 0x112fd2b
cmp dword [esp + 0x10], 0
je 0x112f77e
mov eax, dword [esp + 0x10]
call fcn.010afb10
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x20], eax
test edi, edi
je 0x112fc7b
sub esp, 0xc
xor ecx, ecx
mov edx, edi
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
mov dword [esp + 0x20], eax
add esp, 0x10
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x112f93c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x57], 0
jne 0x112f7ee
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x112fc02
sub esp, 0xc
push ebx
call 0x1184e08
add esp, 0x10
and eax, 0x3fffffff
lea edx, [ebx + eax - 1]
movzx eax, byte [edx]
add eax, 1
mov byte [edx], al
mov esi, 0x143df60
mov eax, dword [esp + 0x20]
test eax, eax
je 0x112fada
sub esp, 0xc
mov edx, eax
xor ecx, ecx
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
mov ebx, dword [esp + 0x28]
mov ecx, esi
mov edx, eax
mov eax, ebx
call fcn.010b8860
mov edx, 0x39
mov dword [esp], edi
mov ecx, eax
mov eax, ebx
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112fac3
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
and eax, 3
jne 0x112fa7b
mov eax, dword [esp + 4]
mov ecx, 0x103
call fcn.010b8f00
mov ebx, eax
sub esp, 0xc
xor ecx, ecx
push 0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
call fcn.010bb290
mov dword [esp + 0x30], eax
add esp, 0x10
mov ecx, esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, esi
call fcn.010b8860
sub esp, 0xc
mov edx, 0x38
push dword [esp + 0x1c]
mov ecx, eax
mov eax, esi
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112f8c3
mov esi, dword [esp]
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
and eax, 3
je 0x112f8c3
or dword [edx + 4], eax
mov eax, dword [esi + 0x24]
mov dword [edx + 0x24], eax
mov edi, dword [esp + 4]
mov ecx, 0x103
mov eax, edi
call fcn.010b8f00
mov ebp, dword [esp + 0x1c]
mov edx, edi
mov ecx, ebx
mov esi, eax
mov eax, ebp
call fcn.0112d8d0
mov edx, edi
mov eax, ebp
mov ecx, esi
call fcn.0112d8d0
mov ecx, dword [edi + 0x18]
mov eax, edi
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0xc]
lea ebp, [ecx + edi]
test edx, edx
je 0x112e61b
lea eax, [ebx + ebx*2]
movzx edx, word [ebp + 8]
mov edi, dword [esp + 0x28]
lea ebx, [esi + esi*2]
shl eax, 4
shl ebx, 4
add eax, ecx
add ecx, ebx
mov dword [eax + 0x10], edi
mov word [eax + 8], dx
movzx eax, byte [ebp + 0xe]
mov dword [ecx + 0x10], edi
add eax, 2
mov word [ecx + 8], dx
mov byte [ebp + 0xe], al
jmp 0x112db18
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne 0x112f993
mov ecx, dword [edi + 8]
or word [ebp + 0xa], 0x400
xor esi, esi
movzx eax, byte [ecx]
test al, al
je 0x112f993
mov ebx, dword [esp + 0x10]
mov ebp, eax
mov eax, ebp
movzx edx, al
movzx eax, byte [edx + str.percent_rank]
movzx edx, byte [edx + 0x143e140]
and eax, 0x20
not eax
and eax, ebp
mov byte [ecx], al
mov eax, dword [ebx + 8]
mov byte [eax + esi], dl
mov ecx, dword [edi + 8]
add esi, 1
add ecx, esi
movzx ebp, byte [ecx]
mov eax, ebp
test al, al
jne 0x112f960
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x57], 0
jne 0x112f9dd
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x112fc11
sub esp, 0xc
push ebx
call 0x1184e08
add esp, 0x10
and eax, 0x3fffffff
lea edx, [ebx + eax - 1]
movzx eax, byte [edx]
xor ecx, ecx
cmp al, 0x40
movzx eax, byte [eax + 0x143e140]
cmovne ecx, dword [esp + 0x50]
add eax, 1
mov dword [esp + 0x50], ecx
mov byte [edx], al
mov esi, 0x1430f38
jmp 0x112f7f3
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], eax
and eax, 0x800000
or eax, ecx
mov dword [esp + 0x14], edx
jne 0x112db18
mov eax, dword [esp + 0x18]
movsx ecx, word [ebx + 0x20]
mov eax, dword [eax + 0xf0]
mov edx, ecx
mov dword [esp + 0x30], ecx
call fcn.010c1d60
mov ecx, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x10], eax
je 0x112fbdf
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x10]
mov edx, eax
and edx, 0x3f
cmp byte [edx + 0x14382e0], 3
je 0x112fc86
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xdc]
cmp ecx, 0x1f
jle 0x112fbb5
or edx, 0x80000000
mov dword [eax + 0xdc], edx
mov eax, dword [esp + 0x10]
call fcn.010afb10
jmp 0x112db18
or dword [edx + 4], eax
mov eax, dword [esp]
mov ecx, 0x103
mov eax, dword [eax + 0x24]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 4]
call fcn.010b8f00
mov ecx, dword [esp + 0x20]
mov ebx, eax
test ecx, ecx
jne 0x112f861
jmp 0x112f87c
mov byte [esp + 0x30], al
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x38], edx
jmp 0x112f612
mov eax, 0x35
jmp 0x112f3f4
mov eax, dword [esp + 4]
mov ecx, 0x103
xor edx, edx
call fcn.010b8f00
mov ebx, eax
jmp 0x112f861
mov ebx, dword [esp + 0x18]
mov ecx, esi
xor edx, edx
mov eax, ebx
call fcn.010b8860
sub esp, 0xc
mov edx, 0x39
push edi
mov ecx, eax
mov eax, ebx
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x112fb9e
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
and eax, 3
jne 0x112fa7b
mov eax, dword [esp + 4]
mov ecx, 0x103
call fcn.010b8f00
mov ebx, eax
jmp 0x112f87c
mov eax, ebx
mov byte [esp + 0x1c], 0x44
mov ebx, esi
mov dword [esp + 0x10], ecx
mov ebp, eax
jmp 0x112e028
jne 0x112fb55
movzx eax, byte [esp + 0x50]
cmp byte [esp + 0x20], al
jne 0x112f61d
cmp dword [esp + 0x10], 0
jne 0x112fa6d
jmp 0x112db18
sub esp, 0xc
mov edx, 0x31
xor ecx, ecx
xor edi, edi
push 0
mov eax, dword [esp + 0x7c]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
test eax, eax
jne 0x112e5ad
jmp 0x112e610
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.010d2c60
jmp 0x112ef65
mov eax, dword [esp + 4]
mov ecx, 0x103
xor edx, edx
call fcn.010b8f00
mov ebx, eax
jmp 0x112f87c
xor edi, edi
sub ecx, 1
mov edx, 1
shl edx, cl
or dword [eax + 0xdc], edx
test edi, edi
je 0x112fb55
movzx eax, byte [edi]
mov byte [esp + 0x50], al
test al, al
jne 0x112f59d
jmp 0x112fb55
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xdc]
cmp ecx, 0x1f
jle 0x112fbb5
or edx, 0x80000000
mov dword [eax + 0xdc], edx
jmp 0x112db18
movzx eax, byte [0xffffffff]
or edx, 0xffffffff
jmp 0x112f7e9
movzx eax, byte [0xffffffff]
or edx, 0xffffffff
jmp 0x112f9c4
mov eax, dword [esp + 0x58]
mov edx, edi
call fcn.010adc60
cmp dword [esp + 0x10], 0
jne 0x112fa6d
jmp 0x112db18
mov dword [esp + 0x20], ecx
call fcn.0109a6f0
mov ecx, dword [esp + 0x20]
cmp al, 0x42
jne 0x112f6f3
mov eax, dword [esp + 0x5c]
test dword [eax + 4], 0x3000000
jne 0x112f760
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x112f760
cmp byte [eax + 0x2b], 1
jne 0x112f760
jmp 0x112f6f3
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x112f7ac
mov edx, eax
not edx
test dx, 0x202
je 0x112fcef
test al, 1
jne 0x112fa4b
mov eax, dword [esp + 0x10]
mov edx, 1
mov dword [esp + 0x30], ecx
call fcn.010c07a0
mov ecx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xdc]
cmp ecx, 0x1f
jle 0x112fbb7
or edx, 0x80000000
mov dword [eax + 0xdc], edx
test edi, edi
jne 0x112fbcb
jmp 0x112fa6d
mov dword [esp + 0x5c], 1
mov esi, eax
jmp 0x112f26b
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x12], 1
jne 0x112fc91
mov edi, dword [edi + 8]
jmp 0x112fcb1
mov byte [esp + 0x30], al
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x38], edx
jmp 0x112f612
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x112efa4
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov esi, dword [eax + 8]
jmp 0x112ef8f
mov eax, dword [esp + 0x18]
movsx edx, word [ebx + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [esi + 0xdc]
cmp edx, 0x1f
jle 0x112fdf8
or eax, 0x80000000
cmp dword [esp + 0x50], 0
mov dword [esi + 0xdc], eax
je 0x112f76e
mov eax, dword [ebx + 8]
cmp byte [eax + 1], 0
je 0x112f76e
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x13]
test al, al
je 0x112fde5
mov edx, dword [esp + 0x18]
sub eax, 1
mov byte [edx + 0x13], al
movzx eax, al
mov ecx, dword [edx + eax*4 + 0xa4]
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x20], ecx
call fcn.01128f10
mov ebx, dword [esi]
mov eax, dword [esi + 0x6c]
mov edx, 0x14bebec
mov ecx, dword [esp + 0x20]
cmp byte [ebx + 0x57], 0
jne 0x112fdb6
sub eax, 1
imul eax, eax, 0x14
add eax, dword [esi + 0x68]
mov edx, eax
xor eax, eax
mov dword [edx + 0xc], eax
test ecx, ecx
je 0x112f76e
mov esi, dword [esp + 0x18]
movzx eax, byte [esi + 0x13]
cmp al, 7
ja 0x112f76e
lea edx, [eax + 1]
mov byte [esi + 0x13], dl
mov dword [esi + eax*4 + 0xa4], ecx
jmp 0x112f76e
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x2c]
lea ecx, [edx + 1]
mov dword [esp + 0x20], edx
mov dword [eax + 0x2c], ecx
jmp 0x112fd88
sub edx, 1
bts eax, edx
jmp 0x112fd4a
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x18]
jmp 0x112dd60
jmp 0x1184fe0
jmp 0x1184fe7