Function at 0x63ba48
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 ebx, ecx
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], ebx
call fcn.00686ff8
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
call fcn.00663b18
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x14]
call fcn.00663848
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 1
push 0x10085330
push edx
push eax
lea ecx, [esp + 0x164]
call fcn.006638e8
mov ecx, eax
call fcn.00663a08
test eax, eax
je 0x63be5c
mov ecx, dword [0x1009038c]
mov edx, dword [0x10090390]
mov eax, dword [0x10090394]
mov dword [esp + 0x80], ecx
mov cx, word [0x10090398]
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.006639a8
cmp ax, 6
jb 0x63be5c
push 5
lea ecx, [esp + 0x14]
call fcn.00663c88
cmp ax, 0x3a
jne 0x63be5c
push 4
lea ecx, [esp + 0x14]
call fcn.00663c88
mov ecx, dword [ebx + 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 0x63bc4a
mov esi, dword [eax]
mov edi, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x180]
add esi, 0x14
call fcn.006638c8
mov ecx, eax
call fcn.00663898
mov edx, dword [esi]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call edx
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x63bc3d
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0x63bc3d
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xe0]
call fcn.00663ae8
mov ecx, dword [ebp + 0x10]
push eax
call fcn.00663b98
lea ecx, [esp + 0xdc]
call fcn.00663bb8
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00663898
cmp word [eax], 0xc
jne 0x63bbd3
push 0x10084384
lea ecx, [esp + 0x190]
call fcn.006638c8
jmp 0x63bc10
lea ecx, [esp + 0x10]
call fcn.00663898
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x63bbf0
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00663898
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x1a4]
push eax
push esi
call fcn.006638a8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00663b38
lea ecx, [esp + 0x20]
call fcn.006578e8
lea ecx, [esp + 0x1c]
call fcn.006578e8
jmp 0x63ca14
lea ecx, [esp + 0x20]
call fcn.006578e8
mov eax, dword [esp + 0x1c]
cmp dword [0x1009e6dc], 0
je 0x63be50
push 4
lea ecx, [esp + 0x14]
call fcn.00663c88
mov ecx, dword [0x1009e714]
movzx eax, ax
movzx eax, ax
movzx edi, word [ecx + eax*2]
sub edi, 0x41
cmp edi, 0x20
jae 0x63be4c
mov esi, dword [0x1009e670]
push 0
push 0x24
lea edx, [esp + 0x1d4]
push edx
push 0x17
add esi, 0xcc0
call dword [0x10084218]
push eax
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
call eax
test eax, eax
jne 0x63be4c
mov al, byte [esp + edi + 0x1d0]
test al, al
je 0x63bcc9
cmp al, 1
je 0x63bcc9
cmp al, 4
jne 0x63be4c
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0xb0]
lea esi, [ebx + 0x34]
push ecx
mov ecx, esi
mov dword [esp + 0xb4], edi
call fcn.00638958
test eax, eax
je 0x63bd11
mov ecx, dword [ebp + 0x10]
call fcn.00663c98
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x10]
push edx
call fcn.00663b98
lea ecx, [esp + 0x1c]
call fcn.006578e8
jmp 0x63ca14
xor eax, eax
mov dword [esp + 0x6c], 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0xa8], edi
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x64]
call fcn.00611118
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
mov ecx, esi
call fcn.00638e68
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x6c]
push eax
push ebx
lea ecx, [esp + 0x90]
push ecx
call dword [0x1009e6dc]
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
mov edi, eax
call fcn.00638f58
cmp edi, 0xea
je 0x63bd2e
test edi, edi
jne 0x63be43
push 0x1009037c
lea ecx, [esp + 0xd4]
call fcn.00611c08
add ebx, 2
push ebx
lea ecx, [esp + 0xd4]
call fcn.00610f78
mov eax, dword [esp + 0xd0]
push eax
lea ecx, [esp + 0x108]
call fcn.006638c8
mov ecx, eax
call fcn.00663898
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push esi
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
call fcn.0063ba48
mov ecx, esi
call fcn.00663898
cmp word [eax], di
jbe 0x63be09
mov ecx, esi
call fcn.006639a8
sub ax, 1
mov ecx, esi
push eax
call fcn.00663c88
cmp ax, 0x5c
je 0x63be09
push 0x100852f8
mov ecx, esi
call fcn.00663c38
lea ecx, [esp + 0x10]
call fcn.00663898
mov ecx, dword [eax + 4]
add ecx, 0xe
push ecx
mov ecx, esi
call fcn.00663c38
lea ecx, [esp + 0xd0]
call fcn.00611378
lea ecx, [esp + 0x60]
call fcn.006110e8
lea ecx, [esp + 0x1c]
call fcn.006578e8
jmp 0x63ca14
lea ecx, [esp + 0x60]
call fcn.006110e8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x63be5c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x2c]
add ebx, 0x10
push 0xffffffffffffffff
lea ecx, [esp + 0x4f]
mov esi, ebx
push ecx
mov ecx, esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x78], esi
call fcn.00615b28
test al, al
je 0x63be88
add dword [esi + 0x10], 1
mov al, 1
mov ecx, ebx
mov byte [esp + 0x74], al
call fcn.00653928
test eax, eax
mov dword [esp + 0x5c], eax
je 0x63bf48
lea edx, [esp + 0x5c]
push edx
mov ecx, ebx
call fcn.00638dd8
push eax
lea ecx, [esp + 0x38]
call fcn.00663b18
push 1
lea ecx, [esp + 0x14]
call fcn.00663898
push eax
lea ecx, [esp + 0x3c]
call fcn.00663898
push eax
call dword [0x1009e910]
test eax, eax
je 0x63c080
lea ecx, [esp + 0x34]
call fcn.00663898
push eax
lea ecx, [esp + 0x50]
call fcn.00663b18
push 0x100852f8
lea ecx, [esp + 0x50]
call fcn.00663c38
push 1
lea ecx, [esp + 0x50]
call fcn.00663898
push eax
lea ecx, [esp + 0x18]
call fcn.00663898
push eax
lea ecx, [esp + 0x170]
call fcn.00663908
mov ecx, eax
call fcn.00663938
test eax, eax
jne 0x63c0ac
lea ecx, [esp + 0x4c]
call fcn.00663bb8
lea ecx, [esp + 0x34]
call fcn.00663bb8
cmp dword [esp + 0x5c], 0
jne 0x63be9f
lea ecx, [esp + 0x70]
call fcn.00637558
push 0x10090368
lea ecx, [esp + 0xcc]
call fcn.006638c8
push 1
lea ecx, [esp + 0xcc]
call fcn.00663898
push eax
lea ecx, [esp + 0x18]
call fcn.00663898
push eax
lea ecx, [esp + 0x1a0]
call fcn.00663908
mov ecx, eax
call fcn.00663938
test eax, eax
je 0x63bfe9
lea ecx, [esp + 0xc8]
call fcn.006639a8
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00663898
mov esi, dword [eax + 4]
lea ecx, [esp + 0x10]
add esi, edi
call fcn.006639a8
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00663898
mov eax, dword [eax + 4]
add eax, edi
cmp esi, eax
je 0x63bfe9
lea esp, [esp]
cmp word [esi], 0x5c
je 0x63c125
add esi, 2
cmp esi, eax
jne 0x63bfd8
lea ecx, [esp + 0x10]
call fcn.00663898
mov edi, dword [eax + 4]
xor esi, esi
nop
cmp word [edi], 0x5c
je 0x63c013
lea ecx, [esp + 0x10]
call fcn.00663898
movzx edx, word [eax]
movzx ecx, si
add ecx, ecx
cmp ecx, edx
jne 0x63c05c
lea ecx, [esp + 0x78]
call fcn.00663a98
lea eax, [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.00663898
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x180]
call fcn.006638a8
mov ecx, eax
call fcn.00663898
push eax
call fcn.00652508
add esp, 8
test eax, eax
lea ecx, [esp + 0x78]
je 0x63c1cc
call fcn.00663bb8
lea ecx, [esp + 0x10]
call fcn.00663898
movzx eax, word [eax]
movzx edx, si
add edx, edx
cmp edx, eax
je 0x63c238
add esi, 1
add edi, 2
jmp 0x63bff8
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.00663b98
mov ecx, dword [ebp + 0x14]
call fcn.00663c98
lea ecx, [esp + 0x34]
call fcn.00663bb8
lea ecx, [esp + 0x70]
call fcn.00637558
jmp 0x63ca14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00663b98
lea ecx, [esp + 0x10]
call fcn.00663898
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x4c]
movzx esi, dx
call fcn.006639a8
movzx edi, ax
lea ecx, [esp + 0x4c]
add edi, edi
call fcn.006639a8
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00663898
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x11c]
call fcn.006638a8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00663b38
lea ecx, [esp + 0x4c]
call fcn.00663bb8
jmp 0x63c095
add esi, 2
cmp esi, eax
je 0x63bfe9
jmp 0x63c138
movzx ecx, word [esi]
cmp cx, 0x5c
je 0x63bfe9
cmp cx, 0x3a
je 0x63c157
add esi, 2
cmp esi, eax
jne 0x63c138
jmp 0x63bfe9
cmp esi, eax
je 0x63bfe9
cmp word [esi], 0x5c
je 0x63c171
add esi, 2
cmp esi, eax
jne 0x63c15f
jmp 0x63bfe9
push 0x1009037c
lea ecx, [esp + 0xb4]
call fcn.00663ae8
push esi
lea ecx, [esp + 0xb4]
call fcn.00663c38
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0xb4]
call fcn.00663848
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.0063ba48
lea ecx, [esp + 0xb0]
call fcn.00663bb8
jmp 0x63ca14
push ecx
lea ecx, [esp + 0xa4]
call fcn.00663b18
lea ecx, [esp + 0x10]
call fcn.00663898
movzx edx, word [eax]
shr dx, 1
sub dx, si
lea ecx, [esp + 0x134]
push edx
push edi
call fcn.006638a8
mov ecx, eax
call fcn.00663898
push eax
lea ecx, [esp + 0xa4]
call fcn.00663bc8
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x14]
call fcn.00663b98
lea ecx, [esp + 0xa0]
call fcn.00663bb8
lea ecx, [esp + 0x78]
call fcn.00663bb8
jmp 0x63bfe9
mov ecx, ebx
call fcn.006230b8
call dword [0x10084064]
mov ecx, dword [ebx + 8]
mov esi, eax
cmp esi, ecx
lea eax, [ebx + 8]
je 0x63c278
mov edx, dword [eax]
test edx, edx
jne 0x63c5d1
push edx
push esi
push eax
call dword [0x10084220]
test eax, eax
sete al
test al, al
je 0x63c5d1
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x1b], 1
mov ecx, ebx
call fcn.006230b8
call dword [0x10084064]
mov esi, eax
mov eax, dword [ebx + 8]
cmp esi, eax
lea edi, [ebx + 8]
je 0x63c2c1
mov ecx, dword [edi]
test ecx, ecx
jne 0x63c5ec
push ecx
push esi
push edi
call dword [0x10084220]
test eax, eax
sete al
test al, al
je 0x63c5ec
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x27], 1
mov ecx, ebx
call fcn.006230b8
call dword [0x10084064]
mov edx, dword [edi]
mov esi, eax
cmp esi, edx
je 0x63c306
mov eax, dword [edi]
test eax, eax
jne 0x63c607
push eax
push esi
push edi
call dword [0x10084220]
test eax, eax
sete al
test al, al
je 0x63c607
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov al, 1
test al, al
mov ecx, dword [ebx + 0x18]
mov esi, dword [0x100840c0]
mov dword [esp + 0x9c], ecx
je 0x63c351
add dword [ebx + 0x10], 0xffffffff
jne 0x63c351
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100840c4]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x63c351
push eax
call dword [0x10084078]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call esi
cmp byte [esp + 0x27], 0
je 0x63c389
add dword [ebx + 0x10], 0xffffffff
jne 0x63c389
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100840c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x63c389
push eax
call dword [0x10084078]
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 0x63c45b
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.00638dd8
push eax
lea ecx, [esp + 0x40]
call fcn.00663b18
push 1
lea ecx, [esp + 0x14]
call fcn.00663898
push eax
lea ecx, [esp + 0x44]
call fcn.00663898
push eax
call dword [0x1009e910]
test eax, eax
lea ecx, [esp + 0x3c]
je 0x63c61e
call fcn.00663898
push eax
lea ecx, [esp + 0x58]
call fcn.00663b18
push 0x100852f8
lea ecx, [esp + 0x58]
call fcn.00663c38
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00663848
push 1
lea ecx, [esp + 0x58]
mov esi, eax
call fcn.00663898
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x154]
call fcn.006638e8
mov ecx, eax
call fcn.00663938
test eax, eax
jne 0x63c688
lea ecx, [esp + 0x54]
call fcn.00663bb8
lea ecx, [esp + 0x3c]
call fcn.00663bb8
cmp dword [esp + 0x68], 0
jne 0x63c39c
mov esi, dword [0x100840c0]
cmp byte [esp + 0x1b], 0
je 0x63c496
add dword [ebx + 0x10], 0xffffffff
jne 0x63c496
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100840c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x63c496
push eax
call dword [0x10084078]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
push 0
push pe_nt_image_headers32
lea ecx, [esp + 0x18]
call fcn.00663898
push eax
push 0
lea ecx, [esp + 0x1bc]
call fcn.00663868
lea ecx, [esp + 0x10]
call fcn.00663898
mov ax, word [eax]
shr ax, 1
movzx edi, ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], edi
movzx ebx, di
call fcn.00663898
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 0x63c4f8
cmp bx, di
jne 0x63c7d0
lea ecx, [esp + 0x10]
call fcn.00663898
lea ecx, [ebx + ebx]
mov word [eax], cx
mov esi, dword [0x1009e670]
push 0x21
push 3
lea ecx, [esp + 0xf4]
mov dword [esp + 0x4c], 0
add esi, 0x168
call fcn.00663818
mov ecx, eax
call fcn.00663898
push eax
lea ecx, [esp + 0x1b8]
call fcn.00663898
push eax
mov eax, dword [esi]
push 0x100000
lea edx, [esp + 0x58]
push edx
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
call eax
test eax, eax
jne 0x63c7bf
mov edi, 0x400
lea ebx, [ebx]
xor esi, esi
test edi, edi
jbe 0x63c579
push edi
call fcn.0062aa08
add esp, 4
mov esi, eax
mov ecx, dword [0x1009e670]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0xe8]
push eax
mov eax, dword [ecx + 0xb10]
push edi
push esi
add ecx, 0xb10
push 1
push edx
mov edx, dword [eax + 0x24]
call edx
call eax
cmp eax, 0xc0000004
je 0x63c5bc
cmp eax, 0x80000005
je 0x63c5bc
cmp eax, 0xc0000023
jne 0x63c755
add edi, 0x100
test esi, esi
je 0x63c568
push esi
call fcn.0062ab58
add esp, 4
jmp 0x63c568
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00611f08
test al, al
jne 0x63c278
mov byte [esp + 0x1b], al
jmp 0x63c281
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00611f08
test al, al
jne 0x63c2c1
mov byte [esp + 0x27], al
jmp 0x63c2ca
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00611f08
test al, al
jne 0x63c306
jmp 0x63c30c
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00663b98
mov ecx, dword [ebp + 0x14]
call fcn.00663c98
lea ecx, [esp + 0x3c]
call fcn.00663bb8
cmp byte [esp + 0x1b], 0
je 0x63ca14
add dword [ebx + 0x10], 0xffffffff
jne 0x63ca14
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100840c4]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x63ca14
push eax
call dword [0x10084078]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call dword [0x100840c0]
jmp 0x63ca14
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00663b98
lea ecx, [esp + 0x10]
call fcn.00663898
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x54]
movzx esi, dx
call fcn.006639a8
movzx edi, ax
lea ecx, [esp + 0x54]
add edi, edi
call fcn.006639a8
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00663898
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x18c]
call fcn.006638a8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00663b38
lea ecx, [esp + 0x54]
call fcn.00663bb8
lea ecx, [esp + 0x3c]
call fcn.00663bb8
cmp byte [esp + 0x1b], 0
je 0x63ca14
add dword [ebx + 0x10], 0xffffffff
jne 0x63ca14
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100840c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x63ca14
push eax
call dword [0x10084078]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call dword [0x100840c0]
jmp 0x63ca14
test eax, eax
jne 0x63c7b2
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00663b38
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub edx, ebx
push edx
push eax
lea ecx, [esp + 0xfc]
call fcn.006638a8
mov ecx, eax
call fcn.00663898
push eax
lea ecx, [esp + 0x14]
call fcn.00663bc8
lea ecx, [esp + 0x10]
call fcn.00663898
mov cx, word [eax]
shr cx, 1
movzx edx, cx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], 1
jmp 0x63c7b6
test esi, esi
je 0x63c7bf
push esi
call fcn.0062ab58
add esp, 4
lea ecx, [esp + 0x44]
call fcn.00632138
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.00663898
cmp dword [eax + 4], esi
je 0x63c7f8
sub esi, 2
add ebx, 0xffff
cmp dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
je 0x63c4e9
jmp 0x63c80e
cmp dword [esp + 0x30], 0
jne 0x63c80e
lea ecx, [esp + 0x10]
call fcn.00663898
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x10]
call fcn.00663898
mov edx, dword [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], edx
xor edi, edi
call fcn.00663898
mov ax, word [eax]
shr ax, 1
movzx ecx, ax
mov dword [esp + 0x20], ecx
mov edi, edi
mov edx, dword [esp + 0x1c]
cmp word [edx], 0x5c
je 0x63c84d
cmp di, word [esp + 0x20]
jne 0x63c953
lea ecx, [esp + 0x10]
call fcn.00663898
mov edx, dword [esp + 0x1c]
lea ecx, [edi + edi]
mov word [eax], cx
xor ebx, ebx
cmp word [edx], 0x5c
jne 0x63c87a
lea ecx, [esp + 0x10]
call fcn.00663898
add word [eax], 2
mov ebx, 1
mov esi, dword [0x1009e670]
push 0x21
push 3
lea ecx, [esp + 0x104]
mov dword [esp + 0x34], 0
add esi, 0x168
call fcn.00663818
mov ecx, eax
call fcn.00663898
push eax
lea ecx, [esp + 0x1b8]
call fcn.00663898
mov edx, dword [esi]
push eax
push 0x100001
lea eax, [esp + 0x40]
push eax
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
call eax
test eax, eax
jne 0x63c93f
push 0x400
call fcn.0062aa08
mov esi, dword [0x1009e670]
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
add esi, 0x528
call fcn.00663818
mov ecx, eax
call fcn.00663898
mov ecx, dword [esp + 0x44]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x24]
push 0
push 0
push 0
push ecx
mov ecx, esi
call eax
call eax
test eax, eax
je 0x63c960
lea ecx, [esp + 0x94]
call fcn.006110e8
lea ecx, [esp + 0x2c]
call fcn.00632138
cmp di, word [esp + 0x20]
je 0x63ca2f
add edi, 1
add dword [esp + 0x1c], 2
jmp 0x63c838
mov esi, dword [ebp + 0x10]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00663b98
test ebx, ebx
je 0x63c97f
mov ecx, esi
call fcn.00663898
add word [eax], 0xfffe
mov eax, dword [esp + 0x20]
cmp ax, di
jne 0x63c9a9
push 0x10084384
lea ecx, [esp + 0x120]
call fcn.006638c8
mov ecx, eax
call fcn.00663898
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
jmp 0x63c9dd
sub eax, edi
sub eax, 1
push eax
lea ecx, [esp + 0x14]
call fcn.00663898
mov edx, dword [eax + 4]
movzx ecx, di
lea eax, [edx + ecx*2 + 2]
push eax
lea ecx, [esp + 0x134]
call fcn.006638a8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [ebp + 0x14]
call fcn.00663b38
lea ecx, [esp + 0x94]
call fcn.006110e8
lea ecx, [esp + 0x2c]
call fcn.00632138
mov edx, dword [ebp + 0x10]
sub esp, 8
mov ecx, esp
push edx
call fcn.00663b18
mov ecx, dword [esp + 0x98]
call fcn.0063b918
lea ecx, [esp + 0x10]
call fcn.00663bb8
lea ecx, [esp + 0x28]
call fcn.00687018
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x10]
call fcn.00663898
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
push 1
push 0x10085330
lea ecx, [esp + 0x18]
mov word [eax], dx
call fcn.00663898
push eax
lea ecx, [esp + 0x148]
call fcn.00663908
mov ecx, eax
call fcn.00663a08
test eax, eax
je 0x63cb95
mov eax, dword [0x1009038c]
mov ecx, dword [0x10090390]
mov edx, dword [0x10090394]
mov dword [esp + 0xb8], eax
mov ax, word [0x10090398]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], ax
call fcn.00663898
mov cx, word [eax]
and cx, 0xfffe
cmp cx, 0xc
jb 0x63cb95
lea ecx, [esp + 0x10]
call fcn.00663898
mov edx, dword [eax + 4]
cmp word [edx + 0xa], 0x3a
jne 0x63cb95
lea ecx, [esp + 0x10]
call fcn.00663898
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.006638c8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
call fcn.00663b38
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00663898
cmp word [eax], 0xc
jne 0x63cb3d
push 0x10084384
lea ecx, [esp + 0x160]
call fcn.006638c8
jmp 0x63cb7a
lea ecx, [esp + 0x10]
call fcn.00663898
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x63cb5a
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00663898
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x16c]
push eax
push esi
call fcn.006638a8
mov ecx, eax
call fcn.00663898
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00663b38
jmp 0x63c9fa
mov ecx, dword [ebp + 0x10]
call fcn.00663c98
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00663b98
jmp 0x63ca14