Function at 0x46fbf0
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.004bda50
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
call fcn.004988a0
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x14]
call fcn.00498950
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 1
push 0x10089230
push edx
push eax
lea ecx, [esp + 0x164]
call fcn.00498670
mov ecx, eax
call fcn.00498790
test eax, eax
je 0x470004
mov ecx, dword [0x1009453c]
mov edx, dword [0x10094540]
mov eax, dword [0x10094544]
mov dword [esp + 0x80], ecx
mov cx, word [0x10094548]
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.00498730
cmp ax, 6
jb 0x470004
push 5
lea ecx, [esp + 0x14]
call fcn.00498a30
cmp ax, 0x3a
jne 0x470004
push 4
lea ecx, [esp + 0x14]
call fcn.00498a30
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 0x46fdf2
mov esi, dword [eax]
mov edi, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x180]
add esi, 0x14
call fcn.00498650
mov ecx, eax
call fcn.00498c20
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 0x46fde5
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0x46fde5
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xe0]
call fcn.00498870
mov ecx, dword [ebp + 0x10]
push eax
call fcn.00498920
lea ecx, [esp + 0xdc]
call fcn.00498940
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00498c20
cmp word [eax], 0xc
jne 0x46fd7b
push 0x10088394
lea ecx, [esp + 0x190]
call fcn.00498650
jmp 0x46fdb8
lea ecx, [esp + 0x10]
call fcn.00498c20
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x46fd98
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00498c20
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x1a4]
push eax
push esi
call fcn.00498630
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004988c0
lea ecx, [esp + 0x20]
call fcn.004c4020
lea ecx, [esp + 0x1c]
call fcn.004c4020
jmp 0x470bbc
lea ecx, [esp + 0x20]
call fcn.004c4020
mov eax, dword [esp + 0x1c]
cmp dword [0x100a5938], 0
je 0x46fff8
push 4
lea ecx, [esp + 0x14]
call fcn.00498a30
mov ecx, dword [0x100a5970]
movzx eax, ax
movzx eax, ax
movzx edi, word [ecx + eax*2]
sub edi, 0x41
cmp edi, 0x20
jae 0x46fff4
mov esi, dword [0x100a5870]
push 0
push 0x24
lea edx, [esp + 0x1d4]
push edx
push 0x17
add esi, 0xce4
call dword [0x10088224]
push eax
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
call eax
test eax, eax
jne 0x46fff4
mov al, byte [esp + edi + 0x1d0]
test al, al
je 0x46fe71
cmp al, 1
je 0x46fe71
cmp al, 4
jne 0x46fff4
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.0046d1f0
test eax, eax
je 0x46feb9
mov ecx, dword [ebp + 0x10]
call fcn.00498a40
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x10]
push edx
call fcn.00498920
lea ecx, [esp + 0x1c]
call fcn.004c4020
jmp 0x470bbc
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.00443800
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
mov ecx, esi
call fcn.0046d100
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x6c]
push eax
push ebx
lea ecx, [esp + 0x90]
push ecx
call dword [0x100a5938]
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
mov edi, eax
call fcn.0046cbc0
cmp edi, 0xea
je 0x46fed6
test edi, edi
jne 0x46ffeb
push 0x1009452c
lea ecx, [esp + 0xd4]
call fcn.004443a0
add ebx, 2
push ebx
lea ecx, [esp + 0xd4]
call fcn.00443640
mov eax, dword [esp + 0xd0]
push eax
lea ecx, [esp + 0x108]
call fcn.00498650
mov ecx, eax
call fcn.00498c20
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.0046fbf0
mov ecx, esi
call fcn.00498c20
cmp word [eax], di
jbe 0x46ffb1
mov ecx, esi
call fcn.00498730
sub ax, 1
mov ecx, esi
push eax
call fcn.00498a30
cmp ax, 0x5c
je 0x46ffb1
push 0x100891f8
mov ecx, esi
call fcn.004989e0
lea ecx, [esp + 0x10]
call fcn.00498c20
mov ecx, dword [eax + 4]
add ecx, 0xe
push ecx
mov ecx, esi
call fcn.004989e0
lea ecx, [esp + 0xd0]
call fcn.00443a90
lea ecx, [esp + 0x60]
call fcn.00443840
lea ecx, [esp + 0x1c]
call fcn.004c4020
jmp 0x470bbc
lea ecx, [esp + 0x60]
call fcn.00443840
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x470004
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.00447b90
test al, al
je 0x470030
add dword [esi + 0x10], 1
mov al, 1
mov ecx, ebx
mov byte [esp + 0x74], al
call fcn.0046bec0
test eax, eax
mov dword [esp + 0x5c], eax
je 0x4700f0
lea edx, [esp + 0x5c]
push edx
mov ecx, ebx
call fcn.0046d070
push eax
lea ecx, [esp + 0x38]
call fcn.004988a0
push 1
lea ecx, [esp + 0x14]
call fcn.00498c20
push eax
lea ecx, [esp + 0x3c]
call fcn.00498c20
push eax
call dword [0x100a5b78]
test eax, eax
je 0x470228
lea ecx, [esp + 0x34]
call fcn.00498c20
push eax
lea ecx, [esp + 0x50]
call fcn.004988a0
push 0x100891f8
lea ecx, [esp + 0x50]
call fcn.004989e0
push 1
lea ecx, [esp + 0x50]
call fcn.00498c20
push eax
lea ecx, [esp + 0x18]
call fcn.00498c20
push eax
lea ecx, [esp + 0x170]
call fcn.00498690
mov ecx, eax
call fcn.004986c0
test eax, eax
jne 0x470254
lea ecx, [esp + 0x4c]
call fcn.00498940
lea ecx, [esp + 0x34]
call fcn.00498940
cmp dword [esp + 0x5c], 0
jne 0x470047
lea ecx, [esp + 0x70]
call fcn.00487c00
push 0x10094518
lea ecx, [esp + 0xcc]
call fcn.00498650
push 1
lea ecx, [esp + 0xcc]
call fcn.00498c20
push eax
lea ecx, [esp + 0x18]
call fcn.00498c20
push eax
lea ecx, [esp + 0x1a0]
call fcn.00498690
mov ecx, eax
call fcn.004986c0
test eax, eax
je 0x470191
lea ecx, [esp + 0xc8]
call fcn.00498730
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00498c20
mov esi, dword [eax + 4]
lea ecx, [esp + 0x10]
add esi, edi
call fcn.00498730
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00498c20
mov eax, dword [eax + 4]
add eax, edi
cmp esi, eax
je 0x470191
lea esp, [esp]
cmp word [esi], 0x5c
je 0x4702cd
add esi, 2
cmp esi, eax
jne 0x470180
lea ecx, [esp + 0x10]
call fcn.00498c20
mov edi, dword [eax + 4]
xor esi, esi
nop
cmp word [edi], 0x5c
je 0x4701bb
lea ecx, [esp + 0x10]
call fcn.00498c20
movzx edx, word [eax]
movzx ecx, si
add ecx, ecx
cmp ecx, edx
jne 0x470204
lea ecx, [esp + 0x78]
call fcn.00498820
lea eax, [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.00498c20
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x180]
call fcn.00498630
mov ecx, eax
call fcn.00498c20
push eax
call fcn.00486c60
add esp, 8
test eax, eax
lea ecx, [esp + 0x78]
je 0x470374
call fcn.00498940
lea ecx, [esp + 0x10]
call fcn.00498c20
movzx eax, word [eax]
movzx edx, si
add edx, edx
cmp edx, eax
je 0x4703e0
add esi, 1
add edi, 2
jmp 0x4701a0
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.00498920
mov ecx, dword [ebp + 0x14]
call fcn.00498a40
lea ecx, [esp + 0x34]
call fcn.00498940
lea ecx, [esp + 0x70]
call fcn.00487c00
jmp 0x470bbc
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00498920
lea ecx, [esp + 0x10]
call fcn.00498c20
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x4c]
movzx esi, dx
call fcn.00498730
movzx edi, ax
lea ecx, [esp + 0x4c]
add edi, edi
call fcn.00498730
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00498c20
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x11c]
call fcn.00498630
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004988c0
lea ecx, [esp + 0x4c]
call fcn.00498940
jmp 0x47023d
add esi, 2
cmp esi, eax
je 0x470191
jmp 0x4702e0
movzx ecx, word [esi]
cmp cx, 0x5c
je 0x470191
cmp cx, 0x3a
je 0x4702ff
add esi, 2
cmp esi, eax
jne 0x4702e0
jmp 0x470191
cmp esi, eax
je 0x470191
cmp word [esi], 0x5c
je 0x470319
add esi, 2
cmp esi, eax
jne 0x470307
jmp 0x470191
push 0x1009452c
lea ecx, [esp + 0xb4]
call fcn.00498870
push esi
lea ecx, [esp + 0xb4]
call fcn.004989e0
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0xb4]
call fcn.00498950
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.0046fbf0
lea ecx, [esp + 0xb0]
call fcn.00498940
jmp 0x470bbc
push ecx
lea ecx, [esp + 0xa4]
call fcn.004988a0
lea ecx, [esp + 0x10]
call fcn.00498c20
movzx edx, word [eax]
shr dx, 1
sub dx, si
lea ecx, [esp + 0x134]
push edx
push edi
call fcn.00498630
mov ecx, eax
call fcn.00498c20
push eax
lea ecx, [esp + 0xa4]
call fcn.00498970
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x14]
call fcn.00498920
lea ecx, [esp + 0xa0]
call fcn.00498940
lea ecx, [esp + 0x78]
call fcn.00498940
jmp 0x470191
mov ecx, ebx
call fcn.00442500
call dword [0x10088064]
mov ecx, dword [ebx + 8]
mov esi, eax
cmp esi, ecx
lea eax, [ebx + 8]
je 0x470420
mov edx, dword [eax]
test edx, edx
jne 0x470779
push edx
push esi
push eax
call dword [0x1008822c]
test eax, eax
sete al
test al, al
je 0x470779
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x1b], 1
mov ecx, ebx
call fcn.00442500
call dword [0x10088064]
mov esi, eax
mov eax, dword [ebx + 8]
cmp esi, eax
lea edi, [ebx + 8]
je 0x470469
mov ecx, dword [edi]
test ecx, ecx
jne 0x470794
push ecx
push esi
push edi
call dword [0x1008822c]
test eax, eax
sete al
test al, al
je 0x470794
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x27], 1
mov ecx, ebx
call fcn.00442500
call dword [0x10088064]
mov edx, dword [edi]
mov esi, eax
cmp esi, edx
je 0x4704ae
mov eax, dword [edi]
test eax, eax
jne 0x4707af
push eax
push esi
push edi
call dword [0x1008822c]
test eax, eax
sete al
test al, al
je 0x4707af
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov al, 1
test al, al
mov ecx, dword [ebx + 0x18]
mov esi, dword [0x100880c0]
mov dword [esp + 0x9c], ecx
je 0x4704f9
add dword [ebx + 0x10], 0xffffffff
jne 0x4704f9
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100880c4]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x4704f9
push eax
call dword [0x1008807c]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call esi
cmp byte [esp + 0x27], 0
je 0x470531
add dword [ebx + 0x10], 0xffffffff
jne 0x470531
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100880c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x470531
push eax
call dword [0x1008807c]
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 0x470603
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.0046d070
push eax
lea ecx, [esp + 0x40]
call fcn.004988a0
push 1
lea ecx, [esp + 0x14]
call fcn.00498c20
push eax
lea ecx, [esp + 0x44]
call fcn.00498c20
push eax
call dword [0x100a5b78]
test eax, eax
lea ecx, [esp + 0x3c]
je 0x4707c6
call fcn.00498c20
push eax
lea ecx, [esp + 0x58]
call fcn.004988a0
push 0x100891f8
lea ecx, [esp + 0x58]
call fcn.004989e0
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00498950
push 1
lea ecx, [esp + 0x58]
mov esi, eax
call fcn.00498c20
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x154]
call fcn.00498670
mov ecx, eax
call fcn.004986c0
test eax, eax
jne 0x470830
lea ecx, [esp + 0x54]
call fcn.00498940
lea ecx, [esp + 0x3c]
call fcn.00498940
cmp dword [esp + 0x68], 0
jne 0x470544
mov esi, dword [0x100880c0]
cmp byte [esp + 0x1b], 0
je 0x47063e
add dword [ebx + 0x10], 0xffffffff
jne 0x47063e
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100880c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x47063e
push eax
call dword [0x1008807c]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
push 0
push 0x40
lea ecx, [esp + 0x18]
call fcn.00498c20
push eax
push 0
lea ecx, [esp + 0x1bc]
call fcn.00498600
lea ecx, [esp + 0x10]
call fcn.00498c20
mov ax, word [eax]
shr ax, 1
movzx edi, ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], edi
movzx ebx, di
call fcn.00498c20
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 0x4706a0
cmp bx, di
jne 0x470978
lea ecx, [esp + 0x10]
call fcn.00498c20
lea ecx, [ebx + ebx]
mov word [eax], cx
mov esi, dword [0x100a5870]
push 0x21
push 3
lea ecx, [esp + 0xf4]
mov dword [esp + 0x4c], 0
add esi, 0x15c
call fcn.004985d0
mov ecx, eax
call fcn.00498c20
push eax
lea ecx, [esp + 0x1b8]
call fcn.00498c20
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 0x470967
mov edi, 0x400
lea ebx, [ebx]
xor esi, esi
test edi, edi
jbe 0x470721
push edi
call fcn.0045e460
add esp, 4
mov esi, eax
mov ecx, dword [0x100a5870]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0xe8]
push eax
mov eax, dword [ecx + 0xb34]
push edi
push esi
add ecx, 0xb34
push 1
push edx
mov edx, dword [eax + 0x24]
call edx
call eax
cmp eax, 0xc0000004
je 0x470764
cmp eax, 0x80000005
je 0x470764
cmp eax, 0xc0000023
jne 0x4708fd
add edi, 0x100
test esi, esi
je 0x470710
push esi
call fcn.0045e5b0
add esp, 4
jmp 0x470710
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00444720
test al, al
jne 0x470420
mov byte [esp + 0x1b], al
jmp 0x470429
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00444720
test al, al
jne 0x470469
mov byte [esp + 0x27], al
jmp 0x470472
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00444720
test al, al
jne 0x4704ae
jmp 0x4704b4
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00498920
mov ecx, dword [ebp + 0x14]
call fcn.00498a40
lea ecx, [esp + 0x3c]
call fcn.00498940
cmp byte [esp + 0x1b], 0
je 0x470bbc
add dword [ebx + 0x10], 0xffffffff
jne 0x470bbc
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100880c4]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x470bbc
push eax
call dword [0x1008807c]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call dword [0x100880c0]
jmp 0x470bbc
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00498920
lea ecx, [esp + 0x10]
call fcn.00498c20
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x54]
movzx esi, dx
call fcn.00498730
movzx edi, ax
lea ecx, [esp + 0x54]
add edi, edi
call fcn.00498730
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00498c20
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x18c]
call fcn.00498630
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004988c0
lea ecx, [esp + 0x54]
call fcn.00498940
lea ecx, [esp + 0x3c]
call fcn.00498940
cmp byte [esp + 0x1b], 0
je 0x470bbc
add dword [ebx + 0x10], 0xffffffff
jne 0x470bbc
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100880c4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x470bbc
push eax
call dword [0x1008807c]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call dword [0x100880c0]
jmp 0x470bbc
test eax, eax
jne 0x47095a
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004988c0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub edx, ebx
push edx
push eax
lea ecx, [esp + 0xfc]
call fcn.00498630
mov ecx, eax
call fcn.00498c20
push eax
lea ecx, [esp + 0x14]
call fcn.00498970
lea ecx, [esp + 0x10]
call fcn.00498c20
mov cx, word [eax]
shr cx, 1
movzx edx, cx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], 1
jmp 0x47095e
test esi, esi
je 0x470967
push esi
call fcn.0045e5b0
add esp, 4
lea ecx, [esp + 0x44]
call fcn.00466140
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.00498c20
cmp dword [eax + 4], esi
je 0x4709a0
sub esi, 2
add ebx, 0xffff
cmp dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
je 0x470691
jmp 0x4709b6
cmp dword [esp + 0x30], 0
jne 0x4709b6
lea ecx, [esp + 0x10]
call fcn.00498c20
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x10]
call fcn.00498c20
mov edx, dword [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], edx
xor edi, edi
call fcn.00498c20
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 0x4709f5
cmp di, word [esp + 0x20]
jne 0x470afb
lea ecx, [esp + 0x10]
call fcn.00498c20
mov edx, dword [esp + 0x1c]
lea ecx, [edi + edi]
mov word [eax], cx
xor ebx, ebx
cmp word [edx], 0x5c
jne 0x470a22
lea ecx, [esp + 0x10]
call fcn.00498c20
add word [eax], 2
mov ebx, 1
mov esi, dword [0x100a5870]
push 0x21
push 3
lea ecx, [esp + 0x104]
mov dword [esp + 0x34], 0
add esi, 0x15c
call fcn.004985d0
mov ecx, eax
call fcn.00498c20
push eax
lea ecx, [esp + 0x1b8]
call fcn.00498c20
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 0x470ae7
push 0x400
call fcn.0045e460
mov esi, dword [0x100a5870]
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, 0x54c
call fcn.004985d0
mov ecx, eax
call fcn.00498c20
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 0x470b08
lea ecx, [esp + 0x94]
call fcn.00443840
lea ecx, [esp + 0x2c]
call fcn.00466140
cmp di, word [esp + 0x20]
je 0x470bd7
add edi, 1
add dword [esp + 0x1c], 2
jmp 0x4709e0
mov esi, dword [ebp + 0x10]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00498920
test ebx, ebx
je 0x470b27
mov ecx, esi
call fcn.00498c20
add word [eax], 0xfffe
mov eax, dword [esp + 0x20]
cmp ax, di
jne 0x470b51
push 0x10088394
lea ecx, [esp + 0x120]
call fcn.00498650
mov ecx, eax
call fcn.00498c20
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
jmp 0x470b85
sub eax, edi
sub eax, 1
push eax
lea ecx, [esp + 0x14]
call fcn.00498c20
mov edx, dword [eax + 4]
movzx ecx, di
lea eax, [edx + ecx*2 + 2]
push eax
lea ecx, [esp + 0x134]
call fcn.00498630
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [ebp + 0x14]
call fcn.004988c0
lea ecx, [esp + 0x94]
call fcn.00443840
lea ecx, [esp + 0x2c]
call fcn.00466140
mov edx, dword [ebp + 0x10]
sub esp, 8
mov ecx, esp
push edx
call fcn.004988a0
mov ecx, dword [esp + 0x98]
call fcn.0046fbd0
lea ecx, [esp + 0x10]
call fcn.00498940
lea ecx, [esp + 0x28]
call fcn.004bda70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x10]
call fcn.00498c20
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
push 1
push 0x10089230
lea ecx, [esp + 0x18]
mov word [eax], dx
call fcn.00498c20
push eax
lea ecx, [esp + 0x148]
call fcn.00498690
mov ecx, eax
call fcn.00498790
test eax, eax
je 0x470d3d
mov eax, dword [0x1009453c]
mov ecx, dword [0x10094540]
mov edx, dword [0x10094544]
mov dword [esp + 0xb8], eax
mov ax, word [0x10094548]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], ax
call fcn.00498c20
mov cx, word [eax]
and cx, 0xfffe
cmp cx, 0xc
jb 0x470d3d
lea ecx, [esp + 0x10]
call fcn.00498c20
mov edx, dword [eax + 4]
cmp word [edx + 0xa], 0x3a
jne 0x470d3d
lea ecx, [esp + 0x10]
call fcn.00498c20
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.00498650
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
call fcn.004988c0
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00498c20
cmp word [eax], 0xc
jne 0x470ce5
push 0x10088394
lea ecx, [esp + 0x160]
call fcn.00498650
jmp 0x470d22
lea ecx, [esp + 0x10]
call fcn.00498c20
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x470d02
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00498c20
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x16c]
push eax
push esi
call fcn.00498630
mov ecx, eax
call fcn.00498c20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004988c0
jmp 0x470ba2
mov ecx, dword [ebp + 0x10]
call fcn.00498a40
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00498920
jmp 0x470bbc