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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
mov edi, dword [esp + 0x100]
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], ecx
mov esi, dword [esp + 0xfc]
mov ecx, edi
mov dword [esp + 0x40], edi
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x24], edx
test esi, esi
mov byte [esp + 0x67], cl
movzx ecx, word [edx + 0x22]
mov dword [esp + 0xc], eax
mov eax, edx
mov edx, dword [edx + 0x1c]
mov byte [esp + 0x65], bl
mov dword [esp + 0x2c], edi
setne byte [esp + 0x66]
test dl, 0x80
je 0x114abe0
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
test eax, eax
je 0x114c89c
mov esi, dword [esp + 0x44]
jmp 0x114a8a3
mov esi, dword [esi + 0x14]
test esi, esi
je 0x118502c
movzx eax, byte [esi + 0x38]
and eax, 3
cmp al, 2
jne 0x114a898
movzx eax, word [esi + 0x32]
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], eax
and dh, 8
jne 0x114abf9
lea esi, cs:[esi]
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov byte [esp + 0x28], cl
mov edi, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
test edi, edi
je 0x114aa87
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x200
mov dword [esp + 0x10], eax
or eax, edx
jne 0x114aa87
mov eax, dword [esp + 0xf8]
mov esi, dword [esp + 0x18]
cmp bl, 0xb
not eax
mov dword [esi + 0x34], eax
mov eax, 2
cmovne eax, ebx
movzx ebp, al
mov eax, dword [edi]
test eax, eax
jle 0x114aa7c
mov dword [esp + 0x10], 0
lea esi, [edi + 8]
mov ebx, ecx
lea esi, cs:[esi]
mov eax, dword [esp + 0x110]
mov edi, dword [esi]
test eax, eax
je 0x114afa0
xor edx, edx
xor eax, eax
mov dword [esp + eax + 0xb4], edx
mov dword [esp + eax + 0xb8], edx
add eax, 8
cmp eax, 0x18
jb 0x114a955
mov eax, dword [esp + 0x110]
mov dword [esp + 0xb8], 0x10a1330
mov dword [esp + 0xcc], eax
test edi, edi
je 0x114aa60
mov edx, edi
lea eax, [esp + 0xb4]
call fcn.010b3350
movzx eax, word [esp + 0xc8]
mov edx, eax
and edx, 0xfffffffd
cmp byte [esp + 0x67], 0
cmove eax, edx
test ax, ax
je 0x114aa60
test bl, bl
je 0x114b020
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
lea ecx, [ebx - 1]
mov dword [esp + 0x20], ecx
mov dword [eax + 0x38], ecx
sub esp, 0xc
xor ecx, ecx
mov edx, edi
push 0
mov eax, dword [esp + 0x3c]
call fcn.010bb290
add esp, 0x10
mov edi, eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x57], 0
je 0x114b040
test edi, edi
je 0x114aa05
mov eax, dword [esp + 0x2c]
mov edx, edi
call fcn.010adc60
cmp ebp, 4
je 0x114afe8
cmp ebp, 5
mov eax, dword [esi + 4]
mov edi, 2
mov edx, 0x113
cmove ebp, edi
sub esp, 4
push 3
push 0
mov ecx, ebp
push eax
mov eax, dword [esp + 0x28]
call fcn.010c83f0
mov eax, dword [esp + 0x1c]
add esp, 0x10
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114b00b
mov edi, dword [esp + 0xc]
shl ebx, 2
neg ebx
add ebx, dword [eax + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [ebx], edx
mov ebx, 1
mov edi, dword [esp + 0x1c]
add dword [esp + 0x10], 1
add esi, 0x14
mov eax, dword [esp + 0x10]
cmp dword [edi], eax
jg 0x114a940
mov byte [esp + 0x28], bl
mov eax, dword [esp + 0x18]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x114]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x114b090
mov edi, dword [esp + 0x114]
mov ebx, dword [edi]
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x114af71
mov edx, dword [esp + 0x30]
test edx, edx
je 0x114b090
xor edx, edx
lea esi, [esi]
mov eax, dword [eax + 0x14]
add edx, 1
test eax, eax
jne 0x114aac8
lea ebx, [edx + edx*4]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], edx
xor edx, edx
add ebx, ebx
mov eax, ebx
test edi, edi
je 0x114c10d
mov ecx, edx
mov eax, edi
mov edx, ebx
call fcn.010b7ad0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x114b97e
sub esp, 4
xor ebp, ebp
push ebx
mov ebx, eax
push 0
push eax
call 0x1184dc8
mov eax, ebx
mov ebx, dword [esp + 0x40]
lea edi, [eax + ebx*8]
mov ebx, dword [esp + 0x124]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x34]
add esp, 0x10
mov esi, dword [esp + 0x114]
mov ebx, dword [eax + 8]
lea esi, [esi]
mov eax, dword [esi]
test eax, eax
je 0x114ab9e
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x114ab97
test ebx, ebx
je 0x114c5ce
cmp ecx, ebx
je 0x114c5d9
mov eax, ebx
xor edx, edx
jmp 0x114ab6c
cmp ecx, eax
je 0x114ab76
mov eax, dword [eax + 0x14]
add edx, 1
test eax, eax
jne 0x114ab68
lea ecx, [edi + edx]
cmp byte [ecx], 0
jne 0x114ab97
mov ebx, dword [esp + 0x60]
mov byte [ecx], 1
lea ecx, [ebx + ebp*8]
add ebp, 1
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], edx
mov ebx, dword [eax + 8]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x114ab40
test ebx, ebx
je 0x114abcb
mov ecx, dword [esp + 0x60]
xor eax, eax
lea esi, cs:[esi]
cmp byte [edi + eax], 0
jne 0x114abc1
lea edx, [ecx + ebp*8]
add ebp, 1
mov dword [edx], ebx
mov dword [edx + 4], eax
mov ebx, dword [ebx + 0x14]
add eax, 1
test ebx, ebx
jne 0x114abb0
mov dword [esp + 0x48], 1
jmp 0x114b0a0
mov dword [esp + 0x6c], 1
mov dword [esp + 0x44], 0
and dh, 8
je 0x114a8c8
movsx eax, cx
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x10]
test ebx, ebx
jle 0x114ad30
movzx eax, byte [esp + 0x1c]
xor ebx, ebx
xor eax, 1
mov byte [esp + 0x20], al
jmp 0x114ac5d
cmp byte [esp + 0x20], 0
je 0x114ac86
add dword [esp + 0x28], 1
lea esi, [esi]
add ebx, 1
cmp dword [esp + 0x10], ebx
je 0x114ad30
mov esi, ebx
shl esi, 4
add esi, dword [edi + 4]
movzx eax, byte [esi + 4]
mov ebp, eax
and ebp, 0xf
je 0x114ac50
movsx eax, word [edi + 0x20]
cmp eax, ebx
je 0x114ac50
movzx eax, word [esi + 0xe]
mov edx, eax
and edx, 0x60
and eax, 0x60
jne 0x114ac40
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x114aca4
mov ecx, dword [esp + 0x110]
mov ecx, dword [ecx + ebx*4]
test ecx, ecx
jns 0x114aca4
test dx, dx
je 0x114ac50
movzx ecx, byte [esp + 0x65]
cmp cl, 0xb
je 0x114ae28
movzx ebp, cl
cmp ebp, 5
je 0x114ae40
test eax, eax
jne 0x114acca
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x114ac50
mov eax, ebx
test byte [edi + 0x1c], 0x20
je 0x114acdb
mov edx, ebx
mov eax, edi
call fcn.010a0250
mov ecx, dword [esp + 0xf8]
cwde
lea ecx, [ecx + eax + 1]
cmp ebp, 3
je 0x114ada1
jg 0x114ad04
cmp ebp, 1
je 0x114ada1
cmp ebp, 2
je 0x114ad89
sub esp, 8
mov edx, 0x32
add ebx, 1
push 0
push dword [esp + 0x114]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
cmp dword [esp + 0x10], ebx
jne 0x114ac5d
nop
mov eax, dword [esp + 0x34]
mov ebx, eax
or ebx, dword [esp + 0x28]
je 0x114af68
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x114af68
test eax, eax
jle 0x114ad5a
test byte [edi + 0x1c], 0x60
jne 0x114af48
mov dword [esp + 0x1c], 1
jmp 0x114ac20
test eax, eax
je 0x114ad89
mov edx, ebx
mov eax, edi
call fcn.010a0250
mov ecx, dword [esp + 0xf8]
cwde
lea ecx, [ecx + eax + 1]
mov edx, dword [esp + 0x18]
mov ebp, 2
mov eax, dword [edx + 0x80]
test eax, eax
cmove eax, edx
mov byte [eax + 0x15], 1
mov dword [esp + 0x30], ecx
push dword [esi]
push dword [edi]
push 0x142e70e
push dword [esp + 0x38]
call fcn.010d6690
mov esi, eax
pop eax
pop edx
mov edx, 0x45
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, 0x513
push ebp
mov ebp, dword [esp + 0x1c]
mov eax, ebp
call fcn.010c6f00
mov eax, dword [ebp]
add esp, 0x10
cmp byte [eax + 0x57], 0
jne 0x114af20
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
lea ecx, [eax + eax*4]
lea edx, [edx + ecx*4 - 0x14]
mov byte [edx + 1], 0xfa
mov dword [edx + 0x10], esi
test eax, eax
jle 0x114ac50
mov ecx, dword [esp + 0xc]
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [ecx + 0x68]
mov ecx, 1
mov word [eax - 0x12], cx
jmp 0x114ac50
cmp ebp, 0xb
jne 0x114acb5
mov ebp, 2
jmp 0x114acbe
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x1c]
and eax, 0x20
lea ecx, [ebx + ecx + 1]
test ebp, ebp
jne 0x114ad70
cmp word [esi + 0xc], 0
je 0x114ad70
test eax, eax
je 0x114ae81
mov edx, ebx
mov eax, edi
call fcn.010a0250
mov ecx, dword [esp + 0xf8]
cwde
lea ecx, [ecx + eax + 1]
mov eax, dword [esp + 0xc]
mov ebp, dword [eax + 0x6c]
cmp ebp, dword [eax + 0x70]
jge 0x114b060
mov edx, dword [esp + 0xc]
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 + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x33
movzx eax, word [esi + 0xc]
add dword [esp + 0x34], 1
test ax, ax
je 0x114af40
cmp byte [edi + 0x2b], 0
jne 0x114af40
mov edx, dword [edi + 0x34]
test edx, edx
je 0x114aeea
cmp dword [edx], eax
jl 0x114af40
lea eax, [eax + eax*4 - 5]
mov edx, dword [edx + eax*4 + 8]
mov eax, dword [esp + 0x18]
call fcn.0112b410
mov esi, dword [esp + 0xc]
mov eax, 0x14bebec
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x114af11
mov eax, dword [esi + 0x68]
lea ecx, [ebp + ebp*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x114ac50
test esi, esi
je 0x114af2b
mov edx, esi
call fcn.010a8980
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x6c]
jmp 0x114adfe
xor edx, edx
jmp 0x114aeea
mov eax, dword [esp + 0xf8]
mov ecx, edi
lea edx, [eax + 1]
mov eax, dword [esp + 0x18]
call fcn.0112b820
jmp 0x114ad5a
mov ebx, dword [esp + 0x38]
jmp 0x114a8c8
cmp byte [edi + 0x14], 0
jne 0x114c2fe
mov dword [esp + 0x114], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x65], 4
jmp 0x114b0a0
test bl, bl
je 0x114b020
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
lea ecx, [ebx - 1]
mov dword [esp + 0x20], ecx
mov dword [eax + 0x38], ecx
test edi, edi
jne 0x114a9d1
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x57], 0
jne 0x114aa05
push 0x10
push ecx
push 0
push dword [esp + 0x24]
call fcn.0111caf0
add esp, 0x10
cmp ebp, 4
jne 0x114aa0e
lea esi, [esi]
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0xc]
call fcn.010c75c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
jns 0x114aa4a
neg ebx
mov edx, dword [esp + 0xc]
mov ecx, ebx
call fcn.010c96c0
jmp 0x114aa5b
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x24]
lea ecx, [eax + 1]
mov eax, dword [esp + 0xc]
call fcn.010cc0a0
jmp 0x114afa4
push 0x10
push dword [esp + 0x24]
push edi
push dword [esp + 0x24]
call fcn.0111caf0
add esp, 0x10
jmp 0x114a9f6
sub esp, 8
mov edx, 0x33
push 0
push 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
call fcn.010c6e90
add esp, 0x10
mov ecx, dword [esp + 0x30]
mov ebp, eax
jmp 0x114aec3
mov dword [esp + 0x60], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x2c]
xor esi, esi
mov eax, dword [eax + 0x20]
mov ecx, eax
and ecx, 0x6000
or ecx, esi
je 0x114b611
and eax, 0x2000
xor edx, edx
or eax, edx
je 0x114b5f9
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x114c370
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xa1], 0
jne 0x114b5fd
sub esp, 8
mov ecx, pe_nt_image_headers32
push 0
push 0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
call fcn.010cee80
mov dword [esp + 0xb4], eax
add esp, 0x10
test eax, eax
je 0x114b5f9
mov ebx, dword [esp + 0x18]
sub esp, 8
xor ecx, ecx
mov edx, 0x47
mov edi, dword [ebx + 0x2c]
mov dword [esp + 0x18], edi
add edi, 1
mov dword [esp + 0x88], edi
mov dword [ebx + 0x2c], edi
push 0
push edi
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov eax, ebx
mov ebx, dword [ebx + 0x38]
mov dword [esp + 0x20], ebx
add esp, 0x10
lea ebp, [ebx - 1]
cmp byte [esp + 0x40], 0
mov dword [eax + 0x38], ebp
jne 0x114b634
nop
mov dword [esp + 0x98], 0
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x48]
test eax, eax
je 0x114be08
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edi
test eax, eax
je 0x114be24
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x88], esi
mov dword [esp + 0x94], ebp
movzx ecx, byte [esp + 0x28]
not eax
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
jmp 0x114b23f
mov ebp, dword [esp + 0x48]
test ebp, ebp
je 0x114b5e0
add dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x30], eax
jle 0x114b930
mov edi, dword [esp + 0x60]
lea eax, [edi + eax*8]
mov edi, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
test edi, edi
je 0x114c876
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x1c]
lea ebp, [eax + edi*4]
mov eax, dword [ebp]
test eax, eax
je 0x114b200
mov eax, dword [esp + 0x114]
test eax, eax
jne 0x114b8c0
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x54], edi
sub edi, 1
mov dword [esp + 0x4c], edi
mov dword [eax + 0x38], edi
test cl, cl
je 0x114bb40
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x114b2c3
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
push dword [ebp]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x6c]
mov edx, dword [ebx + 0x24]
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x34], edi
mov ebx, eax
call fcn.0111d3f0
mov dword [ebx + 0x34], 0
add esp, 0x10
mov eax, dword [ebp]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
add eax, 1
cmp word [ebx + 0x34], 0
mov dword [esp + 0x28], eax
je 0x114c037
mov dword [esp + 0x40], ebp
xor edi, edi
mov ebp, eax
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x24]
jmp 0x114b342
test byte [esi + 0x1c], 0x20
je 0x114b313
test ax, ax
js 0x114b313
mov eax, esi
mov dword [esp + 0x34], ecx
call fcn.010a0250
mov ecx, dword [esp + 0x34]
cwde
mov edx, dword [esp + 0xf8]
sub esp, 8
push 0
lea eax, [eax + edx + 1]
push ecx
mov edx, 0x51
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
movzx eax, word [ebx + 0x34]
add edi, 1
cmp eax, edi
jle 0x114b38d
mov eax, dword [ebx + 4]
lea ecx, [ebp + edi]
movsx eax, word [eax + edi*2]
mov edx, eax
cmp ax, 0xfffe
je 0x114b7d8
cmp eax, 0xffffffff
je 0x114b364
cmp ax, word [esi + 0x20]
jne 0x114b2f8
sub esp, 8
mov edx, 0x52
add edi, 1
push 0
push ecx
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
movzx eax, word [ebx + 0x34]
add esp, 0x10
cmp eax, edi
jg 0x114b342
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov edx, dword [ebp]
sub esp, 8
push edx
mov edx, 0x61
push eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x44], edi
mov edi, dword [esp + 0x54]
sete byte [esp + 0x40]
cmp byte [esp + 0x67], 0
movzx ebx, byte [esp + 0x40]
sete al
and al, byte [esp + 0x66]
neg edi
and al, bl
mov dword [esp + 0x70], edi
mov edi, eax
jne 0x114c042
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x36]
mov dword [esp + 0x34], eax
test eax, eax
je 0x114b888
movzx eax, byte [esp + 0x65]
cmp al, 0xb
jne 0x114b410
mov ebx, dword [esp + 0x34]
mov eax, 2
cmp ebx, 0xb
cmovne eax, ebx
mov dword [esp + 0x34], eax
test esi, esi
je 0x114bb60
cmp byte [esi + 0x14], 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 6
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x114b443
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x14]
test ebp, ebp
je 0x114b810
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0xf4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x6c]
mov dword [esp + 0x68], ebx
cmp ebx, dword [eax + 0x70]
jge 0x114bdd8
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0xc]
lea eax, [ebx + 1]
mov dword [ecx + 0x6c], eax
mov ecx, dword [ecx + 0x68]
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 0x50]
lea eax, [ecx + eax*4]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + 0x10], edx
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax], 0xfd1b
mov dword [eax + 0xc], ebx
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x44], ebx
je 0x114b4c6
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x18]
call fcn.010a0170
mov dword [esp + 0x38], eax
cmp byte [esp + 0x66], 0
jne 0x114b9f8
mov eax, edi
test al, al
jne 0x114b9f8
mov eax, dword [esp + 0x34]
cmp eax, 4
je 0x114b9bd
jg 0x114b990
sub eax, 1
cmp eax, 2
ja 0x114bb70
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
call fcn.010c84f0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114b9e0
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov ecx, dword [edi + 0x6c]
shl edx, 2
neg edx
add edx, dword [eax + 0x40]
mov dword [edx], ecx
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x38], edi
je 0x114b560
cmp dword [esp + 0x6c], 1
je 0x114c05d
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x6c]
cmp edi, dword [eax + 0x1c]
jle 0x114b560
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], ebx
nop
test esi, esi
je 0x114b8b0
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x114b8b0
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x114b598
jmp 0x114b59e
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x114b59e
cmp byte [eax + 0x15], 0
je 0x114b8b0
mov eax, dword [eax + 0x10]
test eax, eax
je 0x114b59e
mov ecx, dword [eax]
test ecx, ecx
jne 0x114b580
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
lea edx, [eax + 1]
mov eax, ebx
call fcn.010c75c0
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x6c]
mov eax, 0x14bebec
cmp byte [ecx + 0x57], 0
je 0x114c1b1
mov dword [eax + 8], edx
mov ecx, 1
mov dword [esp + 0x78], 0
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x114b20c
mov eax, dword [esp + 0x30]
add dword [esp + 0x1c], 1
mov eax, dword [eax + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
jmp 0x114b233
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
xor edx, edx
and eax, 0x4000
or eax, edx
jne 0x114c175
mov dword [esp + 0xa4], 0
xor ebp, ebp
cmp byte [esp + 0x40], 0
mov dword [esp + 0x80], 0
je 0x114b160
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x114b160
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
lea edi, [ebx - 1]
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0x65]
mov dword [eax + 0x38], edi
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + 0x2a]
cmp bl, 0xb
je 0x114c4a8
mov esi, dword [esp + 0x114]
test esi, esi
je 0x114c568
mov eax, dword [esp + 0x114]
jmp 0x114b692
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x114b698
mov eax, dword [eax + 0x10]
test eax, eax
je 0x114c5b7
mov ecx, dword [eax]
test ecx, ecx
jne 0x114b680
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x14], 0
je 0x114c1d3
mov eax, dword [esp + 0x34]
mov ebx, 6
cmp dword [esp + 0x114], eax
je 0x114c5e4
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x7c], ecx
cmp ecx, dword [eax + 0x70]
jge 0x114c776
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov edx, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
xor esi, esi
cmp ebx, 5
jne 0x114c398
cmp byte [esp + 0x65], 5
je 0x114b738
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
test eax, eax
je 0x114b736
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x114c6b0
xor esi, esi
mov ecx, dword [esp + 0xfc]
test ecx, ecx
jne 0x114c51f
sub esp, 8
mov edx, 0x1f
push dword [esp + 0x100]
push edi
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x114c625
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 8]
test edx, edx
je 0x114b7ba
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x80]
test eax, eax
cmove eax, ebx
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
push 0xffffffffffffffff
mov eax, ebx
push 0
push dword [esp + 0xfc]
push dword [esp + 0xfc]
call fcn.011369e0
add esp, 0x10
mov dword [esp + 0x98], 0
mov dword [esp + 0x84], 1
jmp 0x114c40c
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x34], edx
mov edx, dword [ebx + 0x28]
lea eax, [edi + edi*4]
lea eax, [edx + eax*4]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
call fcn.0112b410
mov eax, dword [esp + 0x18]
mov dword [eax + 0x34], 0
jmp 0x114b337
cmp byte [esp + 0x40], 0
je 0x114b443
mov eax, edi
test al, al
je 0x114b443
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x3c], edx
xor edx, edx
mov dword [esp + 0x38], eax
and eax, 0x2000
or eax, edx
jne 0x114c310
mov eax, dword [esp + 0x38]
xor edx, edx
and eax, 0x4000
or eax, edx
je 0x114b888
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x30]
test edx, edx
jne 0x114b443
mov edx, dword [eax]
mov eax, dword [eax + 0x3c]
xor ecx, ecx
mov dword [esp + 0x38], eax
add eax, 0x38
call fcn.010a9380
mov eax, dword [eax + 8]
test eax, eax
jne 0x114b443
lea esi, [esi]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114c08b
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x54]
shl edx, 2
neg edx
add edx, dword [eax + 0x40]
mov dword [edx], ecx
mov ecx, 1
jmp 0x114b200
mov esi, dword [esp + 0x114]
mov eax, dword [esp + 0x10]
jmp 0x114b8e0
cmp dword [esi + 0x1c], eax
je 0x114b8e6
mov esi, dword [esi + 0x10]
test esi, esi
je 0x114b260
mov edi, dword [esi]
test edi, edi
jne 0x114b8d0
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x114b260
cmp dword [esp + 0x114], esi
jne 0x114b260
mov edi, dword [esp + 0xc]
mov eax, 0x14bebec
mov ebx, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [ebx + 0x57], 0
jne 0x114b920
mov eax, dword [esp + 0x7c]
mov ebx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
mov dword [eax + 8], edx
jmp 0x114b260
mov byte [esp + 0x28], cl
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
test esi, esi
jne 0x114be3b
mov esi, dword [esp + 0x98]
test esi, esi
jne 0x114be6e
mov eax, dword [esp + 0x24]
test byte [eax + 0x1c], 0x80
je 0x114bee0
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 0x84]
mov dword [eax], edi
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x34], 6
jne 0x114bb70
sub esp, 8
push dword [esp + 0x58]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x28]
call fcn.01148cc0
add esp, 0x10
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0xc]
call fcn.010c75c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
jns 0x114b51e
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc]
call fcn.010c96c0
jmp 0x114b533
mov eax, dword [esp + 0x24]
test byte [eax + 0x1c], 0x80
je 0x114bf31
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x44], edi
jne 0x114bfa5
mov ebx, dword [esp + 0xfc]
test ebx, ebx
je 0x114b4db
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xc]
movzx eax, word [ebx + 0x32]
mov edx, eax
add eax, dword [edi + 0x6c]
mov ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x38]
and eax, 3
cmp al, 2
mov eax, dword [esp + 0x28]
cmovne eax, dword [esp + 0x38]
mov dword [esp + 0x9c], eax
test dx, dx
je 0x114b4db
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], esi
mov ebp, 0x34
xor edi, edi
mov esi, ecx
add eax, 1
mov dword [esp + 0xa0], eax
lea esi, [esi]
mov eax, dword [ebx + 0x20]
mov edx, dword [eax + edi*4]
mov eax, dword [esp + 0x18]
call fcn.010d10f0
movzx edx, word [ebx + 0x32]
mov ecx, eax
mov eax, dword [ebx + 4]
sub edx, 1
cmp edx, edi
mov edx, 0x35
movzx eax, word [eax + edi*2]
cmove esi, dword [esp + 0x4c]
cmove ebp, edx
mov edx, dword [esp + 0x24]
test byte [edx + 0x1c], 0x20
je 0x114bad7
test ax, ax
js 0x114bad7
movsx edx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa8], ecx
call fcn.010a0250
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa0]
push 0xfffffffffffffffe
cwde
push ecx
mov ecx, dword [esp + 0xa4]
add eax, edx
lea edx, [ecx + edi]
mov ecx, eax
push edx
mov edx, ebp
push esi
mov eax, dword [esp + 0x1c]
call fcn.010c7690
mov ecx, dword [esp + 0x1c]
add esp, 0x10
mov eax, dword [ecx + 0x6c]
test eax, eax
jle 0x114bb1d
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x90
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
movzx eax, word [ebx + 0x32]
add edi, 1
cmp eax, edi
jg 0x114ba80
mov esi, dword [esp + 0xac]
jmp 0x114b4db
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x24]
lea ecx, [eax + 1]
mov eax, dword [esp + 0xc]
call fcn.010cc0a0
jmp 0x114b27d
cmp dword [esp + 0x34], 5
sete al
mov edi, eax
jmp 0x114b42c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x80]
test eax, eax
je 0x114bba1
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x80]
test eax, eax
cmove eax, ebx
add dword [esp + 0x98], 1
mov byte [eax + 0x14], 1
mov ebp, dword [esp + 0xa4]
movsx ebx, word [esp + 0x6c]
movzx edi, byte [esp + 0x40]
test ebp, ebp
je 0x114bbc1
cmp byte [esp + 0x66], 0
jne 0x114c0a2
push dword [esp + 0x50]
push edi
push 5
push 0
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
call fcn.0114a2c0
add esp, 0x20
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], 1
test eax, eax
je 0x114b50b
sub esp, 8
mov edx, 0x56
push 0
push 1
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov eax, ebx
call fcn.010c6f00
mov eax, ebx
add esp, 0x10
mov ebx, dword [ebx + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x114c81c
mov edi, dword [esp + 0xc]
lea eax, [ebx + 1]
mov edx, dword [edi + 0x68]
mov dword [edi + 0x6c], eax
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov eax, dword [eax + 0xc]
not ecx
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114c7e8
mov edi, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [eax + ecx*4], edx
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x40], eax
sub eax, 1
mov dword [edi + 0x38], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov ebp, dword [edi + 0x24]
test ebp, ebp
je 0x114bcdc
sub esp, 8
mov edx, 0x32
push 0
push eax
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
sub ecx, eax
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], ecx
lea edi, [eax*4]
test ecx, ecx
jle 0x114bd94
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x50], esi
mov esi, edi
lea esi, [esi]
mov eax, dword [ebx]
mov ebp, 0x14bebec
cmp byte [eax + 0x57], 0
jne 0x114bd22
mov ebp, dword [ebx + 0x68]
add ebp, esi
movzx eax, word [ebp + 2]
movzx edx, byte [ebp]
movsx ecx, byte [ebp + 1]
mov edi, dword [ebp + 0xc]
mov word [esp + 0x40], ax
mov eax, dword [ebp + 4]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0x10]
cmp dl, 0x8e
je 0x114bd82
test byte [edx + 0x143df80], 1
cmovne eax, dword [esp + 0x94]
push ecx
push ebp
push edi
push eax
mov ecx, dword [esp + 0x44]
mov eax, ebx
call fcn.010c7690
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x114bd82
mov edi, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
movzx edi, word [esp + 0x40]
mov word [eax - 0x12], di
add esi, 0x14
sub dword [esp + 0x4c], 1
jne 0x114bd10
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, 2
call fcn.010c84f0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 0x6c]
mov eax, 0x14bebec
cmp byte [ecx + 0x57], 0
je 0x114c69e
mov dword [eax + 8], edx
mov dword [esp + 0x84], 1
jmp 0x114b50b
sub esp, 4
push edx
mov edx, 0x1b
push dword [esp + 0x30]
push dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
call fcn.010c7cf0
mov dword [esp + 0x78], eax
add esp, 0x10
jmp 0x114b4a3
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x114b1bb
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x20], eax
test esi, esi
je 0x114b951
mov edi, dword [esp + 0xc]
mov edx, esi
mov eax, edi
call fcn.010c75c0
mov ecx, dword [edi]
mov edx, dword [edi + 0x6c]
mov eax, 0x14bebec
cmp byte [ecx + 0x57], 0
je 0x114c11b
mov dword [eax + 8], edx
mov esi, dword [esp + 0x98]
test esi, esi
je 0x114b960
sub esp, 8
mov edx, 0x11
push 0
push dword [esp + 0xa0]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov ebx, dword [esp + 0x54]
add esp, 0x10
test ebx, ebx
je 0x114c12c
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.010c75c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov eax, dword [eax + 0xc]
not ecx
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114c5c0
mov edi, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x24]
test byte [eax + 0x1c], 0x80
jne 0x114b96e
mov eax, dword [esp + 0xf8]
sub esp, 8
mov edx, 0x61
mov ebx, dword [esp + 0x28]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x60]
push dword [eax + ebx*4]
mov eax, dword [esp + 0x30]
movsx eax, word [eax + 0x24]
push eax
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
cmp byte [esp + 0x28], 0
jne 0x114b96e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
xor ecx, ecx
call fcn.010cc0a0
jmp 0x114b96e
sub esp, 8
mov edx, 0x8e
push 0
push dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov eax, dword [esp + 0x10c]
add esp, 0x10
test eax, eax
je 0x114b4db
sub esp, 8
mov edx, 0x35
push dword [esp + 0x104]
push dword [esp + 0x58]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov eax, ebx
call fcn.010c6f00
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x114b4db
mov edi, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov ebp, 0x90
lea eax, [edi + eax*4]
mov word [eax - 0x12], bp
jmp 0x114b4db
mov ebx, dword [esp + 0x44]
cmp word [ebx + 0x32], 0
je 0x114ba14
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x10]
xor edi, edi
lea esi, [esi]
mov eax, dword [ebx + 4]
movzx ebp, word [esi + 0x34]
movzx edx, word [eax + edi*2]
test bp, bp
je 0x114c030
mov ecx, dword [esi + 4]
xor eax, eax
jmp 0x114bfe7
add eax, 1
cmp eax, ebp
je 0x114c030
cmp dx, word [ecx + eax*2]
jne 0x114bfe0
cwde
sub esp, 8
mov ecx, dword [esp + 0x40]
lea edx, [ecx + edi]
add edi, 1
push edx
mov edx, 0x5e
push eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
movzx eax, word [ebx + 0x32]
add esp, 0x10
cmp eax, edi
jg 0x114bfc8
mov esi, dword [esp + 0x9c]
jmp 0x114ba14
mov eax, 0xffffffff
jmp 0x114bfee
mov edx, dword [esp + 0x74]
xor eax, eax
jmp 0x114b398
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114c08b
mov edi, dword [esp + 0xc]
mov ecx, dword [edi + 0x6c]
jmp 0x114b8a2
mov edi, dword [esp + 0x38]
test edi, edi
je 0x114b560
mov ebx, dword [esp + 0x18]
movzx eax, byte [ebx + 0x13]
cmp al, 7
ja 0x114b560
lea edx, [eax + 1]
mov byte [ebx + 0x13], dl
mov dword [ebx + eax*4 + 0xa4], edi
jmp 0x114b560
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc]
call fcn.010c96c0
mov ecx, 1
jmp 0x114b200
sub esp, 8
mov edx, 0xa7
push 0
push 0
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
push dword [esp + 0x60]
mov ecx, ebp
push edi
push 5
push 0
push ebx
push dword [esp + 0x5c]
push dword [esp + 0x11c]
push dword [esp + 0x11c]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
call fcn.0114a2c0
add esp, 0x28
mov edx, 0xa8
push 0
push 0
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
jmp 0x114bbf4
call fcn.010a3110
mov dword [esp + 0x60], eax
jmp 0x114aafa
mov eax, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x114be5f
mov ecx, dword [esp + 0xfc]
test ecx, ecx
jne 0x114c72f
sub esp, 8
mov edx, 0x1f
push dword [esp + 0x100]
push ebp
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov edx, 2
call fcn.010d6b70
add esp, 0x10
jmp 0x114bea9
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x2b], 0
jne 0x114b611
mov edx, dword [eax]
mov eax, dword [eax + 0x3c]
xor ecx, ecx
mov dword [esp + 0x10], eax
add eax, 0x38
call fcn.010a9380
mov eax, dword [eax + 8]
test eax, eax
je 0x114c702
mov dword [esp + 0xa4], 0
jmp 0x114b113
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], 0
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + ecx*4]
mov ecx, 1
mov dword [eax + 8], edx
jmp 0x114b5d4
mov eax, dword [esp + 0x34]
mov ebx, 4
cmp dword [esp + 0x114], eax
jne 0x114b6c0
mov eax, dword [esp + 0xfc]
test eax, eax
jne 0x114c510
sub esp, 8
mov edx, 0x1f
xor esi, esi
push dword [esp + 0x100]
push edi
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0xc]
call fcn.010c75c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x98], 0
mov dword [esp + 0x84], 0
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
jns 0x114c41f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
neg ecx
call fcn.010c96c0
mov eax, dword [esp + 0x114]
test eax, eax
jne 0x114c443
mov dword [esp + 0x78], 0
xor ebx, ebx
test esi, esi
je 0x114b192
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x114c7f6
mov edi, dword [esp + 0xc]
lea eax, [ebx + ebx*4]
lea edx, [ebx + 1]
mov ecx, dword [edi + 0x68]
mov dword [edi + 0x6c], edx
lea eax, [ecx + eax*4]
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov edi, dword [esp + 0xc]
mov eax, 0x14bebec
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x114c2ee
mov ecx, dword [edi + 0x68]
lea eax, [esi + esi*4 - 5]
lea eax, [ecx + eax*4]
mov dword [eax + 8], edx
mov dword [esp + 0x78], 0
jmp 0x114b192
mov dword [esp + 0x48], 0
mov byte [esp + 0x65], 6
jmp 0x114b0a0
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x38]
test ebx, ebx
je 0x114c7c4
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xa1], 0
jne 0x114b846
sub esp, 8
mov ecx, pe_nt_image_headers32
push 0
push 0
mov edx, dword [esp + 0x34]
call fcn.010cee80
add esp, 0x10
test eax, eax
jne 0x114b443
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
jmp 0x114b846
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov edx, dword [edx + 0x1c]
test edx, edx
je 0x114b5ff
mov edx, dword [edx + 0x30]
test edx, edx
jne 0x114b0d7
jmp 0x114b5ff
mov eax, dword [esp + 0xfc]
test eax, eax
jne 0x114c51f
sub esp, 8
mov edx, 0x1f
push dword [esp + 0x100]
push edi
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
cmp ebx, 4
je 0x114c225
jg 0x114c57d
lea eax, [ebx - 1]
cmp eax, 3
mov eax, 2
cmovae ebx, eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edx, ebx
call fcn.010d6b70
mov dword [esp + 0x98], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x114c25e
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
shl edx, 2
mov ecx, dword [edi + 0x6c]
neg edx
add edx, dword [eax + 0x40]
mov eax, dword [esp + 0x114]
mov dword [edx], ecx
test eax, eax
je 0x114c27c
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x114], eax
je 0x114c27c
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x6c]
mov dword [esp + 0x78], edi
cmp edi, dword [eax + 0x70]
jge 0x114c79c
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xc]
lea eax, [ebx + 1]
mov edx, dword [edi + 0x68]
mov dword [edi + 0x6c], eax
lea eax, [ebx + ebx*4]
xor ebx, ebx
lea eax, [edx + eax*4]
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
jmp 0x114b192
movzx ebx, al
cmp al, 0xb
jne 0x114b667
mov eax, dword [esp + 0x114]
mov ebx, 2
test eax, eax
jne 0x114b676
mov esi, dword [esp + 0xfc]
test esi, esi
jne 0x114c83d
sub esp, 8
mov edx, 0x1f
xor esi, esi
push dword [esp + 0x100]
push edi
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x7c], 0
mov dword [esp + 0x34], 0
jmp 0x114c3e7
mov dword [esp + 0x7c], 0
xor esi, esi
mov ebx, 4
sub esp, 8
mov edx, 0x35
push dword [esp + 0x104]
push edi
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
mov ecx, dword [esp + 0x1c]
add esp, 0x10
mov eax, dword [ecx + 0x6c]
test eax, eax
jle 0x114c3a7
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x90
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
jmp 0x114c3a7
mov dword [esp + 0x34], 0
mov dword [esp + 0x7c], 0
jmp 0x114b70d
cmp ebx, 5
je 0x114b76a
cmp ebx, 6
jne 0x114c725
sub esp, 8
push dword [esp + 0xf8]
push 0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x28]
call fcn.01148cc0
add esp, 0x10
jmp 0x114c225
mov dword [esp + 0x34], eax
jmp 0x114b6c0
mov edx, dword [esp + 0xc]
call fcn.010c96c0
jmp 0x114b960
mov ecx, edi
xor eax, eax
xor edx, edx
jmp 0x114ab79
mov ecx, edi
mov eax, ebx
xor edx, edx
jmp 0x114ab79
mov edx, dword [esp + 0xfc]
test edx, edx
jne 0x114c716
sub esp, 8
mov edx, 0x1f
xor esi, esi
push dword [esp + 0x100]
push edi
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x7c], 0
jmp 0x114c58f
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x80]
test eax, eax
cmove eax, edi
mov byte [eax + 0x14], 1
mov eax, edi
push 0xffffffffffffffff
push 1
push 5
push 0
push 1
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x44]
call fcn.0114a2c0
add esp, 0x18
mov ecx, ebx
mov edx, 0x56
push 0
push 1
mov eax, dword [esp + 0x1c]
call fcn.010c6f00
add esp, 0x10
mov dword [esp + 0x98], 1
mov dword [esp + 0x84], 1
jmp 0x114c40c
mov eax, dword [esp + 0xc]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
jmp 0x114bdbe
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x70]
jge 0x114c854
mov ecx, dword [esp + 0xc]
lea esi, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x68]
mov dword [ecx + 0x6c], esi
lea eax, [eax + edx*4]
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [esp + 0x7c], 0
jmp 0x114b738
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x114c1a1
jmp 0x114b611
mov dword [esp + 0x7c], 0
xor esi, esi
jmp 0x114c51f
mov ebx, 2
jmp 0x114c3e7
sub esp, 8
mov edx, 0x35
push dword [esp + 0x104]
push ebp
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x108]
mov eax, ebx
call fcn.010c6f00
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x114c13b
mov edi, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x90
lea eax, [edi + eax*4]
mov word [eax - 0x12], dx
jmp 0x114c13b
sub esp, 8
xor ecx, ecx
mov edx, 9
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.010c6e90
mov dword [esp + 0x8c], eax
add esp, 0x10
jmp 0x114b70d
sub esp, 8
xor ecx, ecx
mov edx, 9
xor ebx, ebx
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.010c6e90
mov dword [esp + 0x88], eax
add esp, 0x10
jmp 0x114b192
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x114b846
mov ecx, dword [eax + 0x30]
test ecx, ecx
jne 0x114c31f
jmp 0x114b846
mov edx, dword [esp + 0xc]
call fcn.010c96c0
jmp 0x114bc9b
sub esp, 8
mov edx, 9
xor ecx, ecx
push 0
push 0
mov edi, dword [esp + 0x1c]
mov eax, edi
call fcn.010c6e90
mov edx, dword [edi + 0x6c]
add esp, 0x10
mov ebx, eax
jmp 0x114c2d3
sub esp, 8
xor ecx, ecx
mov edx, 9
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.010c6e90
add esp, 0x10
mov ebx, eax
jmp 0x114bc72
mov dword [esp + 0x34], 0
xor esi, esi
mov dword [esp + 0x7c], 0
jmp 0x114c51f
sub esp, 8
xor ecx, ecx
mov edx, 9
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.010c6e90
add esp, 0x10
lea esi, [eax + 1]
jmp 0x114c6f5
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x28], cl
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x20], eax
mov ebp, dword [esp + 0x90]
jmp 0x114b949
jmp 0x118502c
and al, 0xc