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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
push ebx
push esi
push edi
mov edi, ecx
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], edi
call fcn.00f704c0
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
call fcn.00f3a070
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x14]
call fcn.00f6fb00
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 1
push 0x1007838c
push edx
push eax
lea ecx, [esp + 0x164]
call fcn.00f3a4c0
mov ecx, eax
call fcn.00f3a5c0
test eax, eax
je 0xf223bc
mov ecx, dword [0x10083528]
mov edx, dword [0x1008352c]
mov eax, dword [0x10083530]
mov dword [esp + 0x80], ecx
mov cx, word [0x10083534]
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.00f3a1e0
cmp ax, 6
jb 0xf223bc
push 5
lea ecx, [esp + 0x14]
call fcn.00f3a1f0
cmp ax, 0x3a
jne 0xf223bc
push 4
lea ecx, [esp + 0x14]
call fcn.00f3a1f0
mov ecx, dword [edi + 8]
mov word [esp + 0x88], ax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x1c]
push eax
call edx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0xf221b2
mov esi, dword [eax]
mov ebx, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x180]
add esi, 0x14
call fcn.00f3a4a0
mov ecx, eax
call fcn.00f6f580
mov edx, dword [esi]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0xf221a5
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0xf221a5
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xe0]
call fcn.00f3a040
mov ecx, dword [ebp + 0x10]
push eax
call fcn.00f3a0f0
lea ecx, [esp + 0xdc]
call fcn.00f3a110
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00f6f580
cmp word [eax], 0xc
jne 0xf2213b
push 0x10078348
lea ecx, [esp + 0x190]
call fcn.00f3a4a0
jmp 0xf22178
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0xf22158
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00f6f580
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x1a4]
push eax
push esi
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00f3a090
lea ecx, [esp + 0x20]
call fcn.00f3afe0
lea ecx, [esp + 0x1c]
call fcn.00f3afe0
jmp 0xf22f3d
lea ecx, [esp + 0x20]
call fcn.00f3afe0
mov eax, dword [esp + 0x1c]
cmp dword [0x10176724], 0
je 0xf223b0
push 4
lea ecx, [esp + 0x14]
call fcn.00f3a1f0
mov ecx, dword [0x10176758]
movzx eax, ax
movzx eax, ax
movzx esi, word [ecx + eax*2]
sub esi, 0x41
cmp esi, 0x20
jae 0xf223ac
mov edx, dword [0x10176670]
mov ebx, dword [edx + 0xa38]
push 0
push 0x24
lea eax, [esp + 0x1d4]
push eax
push 0x17
call dword [0x10078204]
push eax
call ebx
test eax, eax
jne 0xf223ac
mov al, byte [esp + esi + 0x1d0]
test al, al
je 0xf22228
cmp al, 1
je 0xf22228
cmp al, 4
jne 0xf223ac
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0xb0]
add edi, 0x34
push edx
mov ecx, edi
mov dword [esp + 0xb4], esi
call fcn.00f1ec00
test eax, eax
je 0xf22270
mov ecx, dword [ebp + 0x10]
call fcn.00f3a200
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00f3a0f0
lea ecx, [esp + 0x1c]
call fcn.00f3afe0
jmp 0xf22f3d
xor eax, eax
mov dword [esp + 0x6c], 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0xa8], esi
mov ecx, dword [esp + 0x6c]
push ecx
lea ecx, [esp + 0x64]
call fcn.00f06330
lea edx, [esp + 0x30]
push edx
mov eax, edx
push eax
mov ecx, edi
call fcn.00f1eb10
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
push ebx
lea edx, [esp + 0x90]
push edx
call dword [0x10176724]
mov esi, eax
lea eax, [esp + 0xa8]
push eax
mov ecx, edi
call fcn.00f1ed00
cmp esi, 0xea
je 0xf2228d
test esi, esi
jne 0xf223a3
push 0x10083518
lea ecx, [esp + 0xd4]
call fcn.00f048f0
add ebx, 2
push ebx
lea ecx, [esp + 0xd4]
call fcn.00f08810
mov ecx, dword [esp + 0xd0]
push ecx
lea ecx, [esp + 0x108]
call fcn.00f3a4a0
mov ecx, eax
call fcn.00f6f580
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push esi
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.00f21fb0
mov ecx, esi
call fcn.00f6f580
cmp word [eax], 0
jbe 0xf22369
mov ecx, esi
call fcn.00f3a1e0
sub ax, 1
mov ecx, esi
push eax
call fcn.00f3a1f0
cmp ax, 0x5c
je 0xf22369
push 0x10078c10
mov ecx, esi
call fcn.00f3a190
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov eax, dword [eax + 4]
add eax, 0xe
push eax
mov ecx, esi
call fcn.00f3a190
lea ecx, [esp + 0xd0]
call fcn.00f04240
lea ecx, [esp + 0x60]
call fcn.00f06300
lea ecx, [esp + 0x1c]
call fcn.00f3afe0
jmp 0xf22f3d
lea ecx, [esp + 0x60]
call fcn.00f06300
mov eax, dword [esp + 0x1c]
test eax, eax
je 0xf223bc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x2c]
add ebx, 0x10
mov esi, ebx
push 0xffffffffffffffff
lea eax, [esp + 0x4f]
push eax
mov ecx, esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x78], esi
call fcn.00f0c350
test al, al
je 0xf223e8
add dword [esi + 0x10], 1
mov al, 1
mov ecx, ebx
mov byte [esp + 0x74], al
call fcn.00f1f1b0
test eax, eax
mov dword [esp + 0x5c], eax
je 0xf224a9
nop
lea ecx, [esp + 0x5c]
push ecx
mov ecx, ebx
call fcn.00f1f220
push eax
lea ecx, [esp + 0x38]
call fcn.00f3a070
push 1
lea ecx, [esp + 0x14]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x3c]
call fcn.00f6f580
push eax
call dword [0x1017690c]
test eax, eax
je 0xf225d9
lea ecx, [esp + 0x34]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x50]
call fcn.00f3a070
push 0x10078c10
lea ecx, [esp + 0x50]
call fcn.00f3a190
push 1
lea ecx, [esp + 0x50]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x18]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x170]
call fcn.00f3a4e0
mov ecx, eax
call fcn.00f3a500
test eax, eax
jne 0xf22605
lea ecx, [esp + 0x4c]
call fcn.00f3a110
lea ecx, [esp + 0x34]
call fcn.00f3a110
cmp dword [esp + 0x5c], 0
jne 0xf22400
lea ecx, [esp + 0x70]
call fcn.00f1de30
push 0x10083504
lea ecx, [esp + 0xcc]
call fcn.00f3a4a0
push 1
lea ecx, [esp + 0xcc]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x18]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x1a0]
call fcn.00f3a4e0
mov ecx, eax
call fcn.00f3a500
test eax, eax
je 0xf22543
lea ecx, [esp + 0xc8]
call fcn.00f3a1e0
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00f6f580
mov esi, dword [eax + 4]
lea ecx, [esp + 0x10]
add esi, edi
call fcn.00f3a1e0
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00f6f580
mov eax, dword [eax + 4]
add eax, edi
cmp esi, eax
je 0xf22543
cmp word [esi], 0x5c
je 0xf2267e
add esi, 2
cmp esi, eax
jne 0xf22532
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov edi, dword [eax + 4]
xor esi, esi
cmp word [edi], 0x5c
je 0xf2256c
lea ecx, [esp + 0x10]
call fcn.00f6f580
movzx edx, word [eax]
movzx ecx, si
add ecx, ecx
cmp ecx, edx
jne 0xf225b5
lea ecx, [esp + 0x78]
call fcn.00f39ff0
lea eax, [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.00f6f580
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x180]
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
push eax
call fcn.00f392f0
add esp, 8
test eax, eax
lea ecx, [esp + 0x78]
je 0xf22724
call fcn.00f3a110
lea ecx, [esp + 0x10]
call fcn.00f6f580
movzx eax, word [eax]
movzx edx, si
add edx, edx
cmp edx, eax
je 0xf22790
add esi, 1
add edi, 2
jmp 0xf22551
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0x34]
push edx
call fcn.00f3a0f0
mov ecx, dword [ebp + 0x14]
call fcn.00f3a200
lea ecx, [esp + 0x34]
call fcn.00f3a110
lea ecx, [esp + 0x70]
call fcn.00f1de30
jmp 0xf22f3d
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.00f3a0f0
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov cx, word [eax]
shr cx, 1
movzx esi, cx
lea ecx, [esp + 0x4c]
call fcn.00f3a1e0
movzx edi, ax
lea ecx, [esp + 0x4c]
add edi, edi
call fcn.00f3a1e0
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00f6f580
mov edx, dword [eax + 4]
add edx, edi
push edx
lea ecx, [esp + 0x11c]
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00f3a090
lea ecx, [esp + 0x4c]
call fcn.00f3a110
jmp 0xf225ee
add esi, 2
cmp esi, eax
je 0xf22543
lea esp, [esp]
movzx ecx, word [esi]
cmp cx, 0x5c
je 0xf22543
cmp cx, 0x3a
je 0xf226af
add esi, 2
cmp esi, eax
jne 0xf22690
jmp 0xf22543
cmp esi, eax
je 0xf22543
cmp word [esi], 0x5c
je 0xf226c9
add esi, 2
cmp esi, eax
jne 0xf226b7
jmp 0xf22543
push 0x10083518
lea ecx, [esp + 0xb4]
call fcn.00f3a040
push esi
lea ecx, [esp + 0xb4]
call fcn.00f3a190
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0xb4]
call fcn.00f6fb00
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.00f21fb0
lea ecx, [esp + 0xb0]
call fcn.00f3a110
jmp 0xf22f3d
push ecx
lea ecx, [esp + 0xa4]
call fcn.00f3a070
lea ecx, [esp + 0x10]
call fcn.00f6f580
movzx edx, word [eax]
shr dx, 1
sub dx, si
lea ecx, [esp + 0x134]
push edx
push edi
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
push eax
lea ecx, [esp + 0xa4]
call fcn.00f3a120
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x14]
call fcn.00f3a0f0
lea ecx, [esp + 0xa0]
call fcn.00f3a110
lea ecx, [esp + 0x78]
call fcn.00f3a110
jmp 0xf22543
mov ecx, ebx
call fcn.00f07c00
call dword [0x100780a8]
mov ecx, dword [ebx + 8]
mov esi, eax
cmp esi, ecx
lea eax, [ebx + 8]
je 0xf227d0
mov edx, dword [eax]
test edx, edx
jne 0xf22b0f
push edx
push esi
push eax
call dword [0x1007808c]
test eax, eax
sete al
test al, al
je 0xf22b0f
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x1b], 1
mov ecx, ebx
call fcn.00f07c00
call dword [0x100780a8]
mov esi, eax
mov eax, dword [ebx + 8]
cmp esi, eax
lea edi, [ebx + 8]
je 0xf22819
mov ecx, dword [edi]
test ecx, ecx
jne 0xf22b2a
push ecx
push esi
push edi
call dword [0x1007808c]
test eax, eax
sete al
test al, al
je 0xf22b2a
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x27], 1
mov ecx, ebx
call fcn.00f07c00
call dword [0x100780a8]
mov edx, dword [edi]
mov esi, eax
cmp esi, edx
je 0xf2285e
mov eax, dword [edi]
test eax, eax
jne 0xf22b45
push eax
push esi
push edi
call dword [0x1007808c]
test eax, eax
sete al
test al, al
je 0xf22b45
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov al, 1
test al, al
mov ecx, dword [ebx + 0x18]
mov esi, dword [0x100780bc]
mov dword [esp + 0x9c], ecx
je 0xf228a9
add dword [ebx + 0x10], 0xffffffff
jne 0xf228a9
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100780c0]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0xf228a9
push eax
call dword [0x100780a0]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call esi
cmp byte [esp + 0x27], 0
je 0xf228e1
add dword [ebx + 0x10], 0xffffffff
jne 0xf228e1
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100780c0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xf228e1
push eax
call dword [0x100780a0]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
mov eax, dword [esp + 0x9c]
test eax, eax
mov dword [esp + 0x68], eax
je 0xf229b3
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.00f1f220
push eax
lea ecx, [esp + 0x40]
call fcn.00f3a070
push 1
lea ecx, [esp + 0x14]
call fcn.00f6f580
push eax
lea ecx, [esp + 0x44]
call fcn.00f6f580
push eax
call dword [0x1017690c]
test eax, eax
lea ecx, [esp + 0x3c]
je 0xf22b5c
call fcn.00f6f580
push eax
lea ecx, [esp + 0x58]
call fcn.00f3a070
push 0x10078c10
lea ecx, [esp + 0x58]
call fcn.00f3a190
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00f6fb00
push 1
lea ecx, [esp + 0x58]
mov esi, eax
call fcn.00f6f580
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x154]
call fcn.00f3a4c0
mov ecx, eax
call fcn.00f3a500
test eax, eax
jne 0xf22bc6
lea ecx, [esp + 0x54]
call fcn.00f3a110
lea ecx, [esp + 0x3c]
call fcn.00f3a110
cmp dword [esp + 0x68], 0
jne 0xf228f4
mov esi, dword [0x100780bc]
cmp byte [esp + 0x1b], 0
je 0xf229ee
add dword [ebx + 0x10], 0xffffffff
jne 0xf229ee
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780c0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xf229ee
push eax
call dword [0x100780a0]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
push 0
push 0x40
lea ecx, [esp + 0x18]
call fcn.00f6f580
push eax
push 0
lea ecx, [esp + 0x1bc]
call fcn.00f6ed70
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov ax, word [eax]
shr ax, 1
movzx edi, ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], edi
movzx ebx, di
call fcn.00f6f580
mov edx, dword [eax + 4]
movzx ecx, di
lea esi, [edx + ecx*2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], 0
cmp word [esi], 0x5c
je 0xf22a50
cmp bx, di
jne 0xf22d0e
lea ecx, [esp + 0x10]
call fcn.00f6f580
lea ecx, [ebx + ebx]
mov word [eax], cx
mov edx, dword [0x10176670]
push 0x21
mov dword [esp + 0x48], 0
mov esi, dword [edx + 0x11c]
push 3
lea ecx, [esp + 0xf4]
call fcn.00f6fea0
mov ecx, eax
call fcn.00f6f580
push eax
lea ecx, [esp + 0x1b8]
call fcn.00f6f580
push eax
push 0x100000
lea eax, [esp + 0x58]
push eax
call esi
test eax, eax
jne 0xf22cfd
mov edi, 0x400
xor esi, esi
test edi, edi
jbe 0xf22ac2
push edi
call fcn.00f058c0
add esp, 4
mov esi, eax
mov ecx, dword [0x10176670]
mov eax, dword [ecx + 0x8c4]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xe8]
push edx
push edi
push esi
push 1
push ecx
call eax
cmp eax, 0xc0000004
je 0xf22afa
cmp eax, 0x80000005
je 0xf22afa
cmp eax, 0xc0000023
jne 0xf22c93
add edi, 0x100
test esi, esi
je 0xf22ab1
push esi
call fcn.00f05a10
add esp, 4
jmp 0xf22ab1
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00f09550
test al, al
jne 0xf227d0
mov byte [esp + 0x1b], al
jmp 0xf227d9
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00f09550
test al, al
jne 0xf22819
mov byte [esp + 0x27], al
jmp 0xf22822
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00f09550
test al, al
jne 0xf2285e
jmp 0xf22864
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00f3a0f0
mov ecx, dword [ebp + 0x14]
call fcn.00f3a200
lea ecx, [esp + 0x3c]
call fcn.00f3a110
cmp byte [esp + 0x1b], 0
je 0xf22f3d
add dword [ebx + 0x10], 0xffffffff
jne 0xf22f3d
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780c0]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0xf22f3d
push eax
call dword [0x100780a0]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call dword [0x100780bc]
jmp 0xf22f3d
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00f3a0f0
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x54]
movzx esi, dx
call fcn.00f3a1e0
movzx edi, ax
lea ecx, [esp + 0x54]
add edi, edi
call fcn.00f3a1e0
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00f6f580
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x18c]
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00f3a090
lea ecx, [esp + 0x54]
call fcn.00f3a110
lea ecx, [esp + 0x3c]
call fcn.00f3a110
cmp byte [esp + 0x1b], 0
je 0xf22f3d
add dword [ebx + 0x10], 0xffffffff
jne 0xf22f3d
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780c0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xf22f3d
push eax
call dword [0x100780a0]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call dword [0x100780bc]
jmp 0xf22f3d
test eax, eax
jne 0xf22cf0
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.00f3a090
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0xfc]
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
push eax
lea ecx, [esp + 0x14]
call fcn.00f3a120
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov ax, word [eax]
shr ax, 1
movzx ecx, ax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], 1
jmp 0xf22cf4
test esi, esi
je 0xf22cfd
push esi
call fcn.00f05a10
add esp, 4
lea ecx, [esp + 0x44]
call fcn.00f05fa0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.00f6f580
cmp dword [eax + 4], esi
je 0xf22d36
sub esi, 2
add ebx, 0xffff
cmp dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
je 0xf22a41
jmp 0xf22d4c
cmp dword [esp + 0x30], 0
jne 0xf22d4c
lea ecx, [esp + 0x10]
call fcn.00f6f580
lea edx, [edi + edi]
mov word [eax], dx
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov eax, dword [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
xor edi, edi
call fcn.00f6f580
mov cx, word [eax]
shr cx, 1
movzx edx, cx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x1c]
cmp word [eax], 0x5c
je 0xf22d89
cmp di, word [esp + 0x20]
jne 0xf22e7c
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov edx, dword [esp + 0x1c]
lea ecx, [edi + edi]
mov word [eax], cx
xor ebx, ebx
cmp word [edx], 0x5c
jne 0xf22db6
lea ecx, [esp + 0x10]
call fcn.00f6f580
add word [eax], 2
mov ebx, 1
mov eax, dword [0x10176670]
push 0x21
mov dword [esp + 0x30], 0
mov esi, dword [eax + 0x11c]
push 3
lea ecx, [esp + 0x104]
call fcn.00f6fea0
mov ecx, eax
call fcn.00f6f580
push eax
lea ecx, [esp + 0x1b8]
call fcn.00f6f580
push eax
push 0x100001
lea ecx, [esp + 0x40]
push ecx
call esi
test eax, eax
jne 0xf22e68
push 0x400
call fcn.00f058c0
mov edx, dword [0x10176670]
mov esi, dword [edx + 0x414]
add esp, 4
push 1
push 0
push 0
push 3
push 0x400
push eax
lea ecx, [esp + 0x124]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x400
call fcn.00f6fea0
mov ecx, eax
call fcn.00f6f580
push eax
mov eax, dword [esp + 0x48]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0xf22e89
lea ecx, [esp + 0x94]
call fcn.00f06300
lea ecx, [esp + 0x2c]
call fcn.00f05fa0
cmp di, word [esp + 0x20]
je 0xf22f58
add edi, 1
add dword [esp + 0x1c], 2
jmp 0xf22d74
mov esi, dword [ebp + 0x10]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00f3a0f0
test ebx, ebx
je 0xf22ea8
mov ecx, esi
call fcn.00f6f580
add word [eax], 0xfffe
mov eax, dword [esp + 0x20]
cmp ax, di
jne 0xf22ed2
push 0x10078348
lea ecx, [esp + 0x120]
call fcn.00f3a4a0
mov ecx, eax
call fcn.00f6f580
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
jmp 0xf22f06
sub eax, edi
sub eax, 1
push eax
lea ecx, [esp + 0x14]
call fcn.00f6f580
mov edx, dword [eax + 4]
movzx ecx, di
lea eax, [edx + ecx*2 + 2]
push eax
lea ecx, [esp + 0x134]
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [ebp + 0x14]
call fcn.00f3a090
lea ecx, [esp + 0x94]
call fcn.00f06300
lea ecx, [esp + 0x2c]
call fcn.00f05fa0
mov edx, dword [ebp + 0x10]
sub esp, 8
mov ecx, esp
push edx
call fcn.00f3a070
mov ecx, dword [esp + 0x98]
call fcn.00f21e80
lea ecx, [esp + 0x10]
call fcn.00f3a110
lea ecx, [esp + 0x28]
call fcn.00f704e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
push 1
push 0x1007838c
lea ecx, [esp + 0x18]
mov word [eax], dx
call fcn.00f6f580
push eax
lea ecx, [esp + 0x148]
call fcn.00f3a4e0
mov ecx, eax
call fcn.00f3a5c0
test eax, eax
je 0xf230be
mov eax, dword [0x10083528]
mov ecx, dword [0x1008352c]
mov edx, dword [0x10083530]
mov dword [esp + 0xb8], eax
mov ax, word [0x10083534]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], ax
call fcn.00f6f580
mov cx, word [eax]
and cx, 0xfffe
cmp cx, 0xc
jb 0xf230be
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov edx, dword [eax + 4]
cmp word [edx + 0xa], 0x3a
jne 0xf230be
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov eax, dword [eax + 4]
mov cx, word [eax + 8]
lea edx, [esp + 0xb8]
mov word [esp + 0xc0], cx
push edx
lea ecx, [esp + 0x150]
call fcn.00f3a4a0
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
call fcn.00f3a090
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00f6f580
cmp word [eax], 0xc
jne 0xf23066
push 0x10078348
lea ecx, [esp + 0x160]
call fcn.00f3a4a0
jmp 0xf230a3
lea ecx, [esp + 0x10]
call fcn.00f6f580
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0xf23083
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00f6f580
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x16c]
push eax
push esi
call fcn.00f3a480
mov ecx, eax
call fcn.00f6f580
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00f3a090
jmp 0xf22f23
mov ecx, dword [ebp + 0x10]
call fcn.00f3a200
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00f3a0f0
jmp 0xf22f3d