Function at 0x45ac10
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4a90bd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push ebp
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x34], ebx
xor esi, esi
lea ecx, [esp + 0x1c]
push esi
mov dword [esp + 0x184], esi
call fcn.00475930
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x184], 1
call fcn.00475930
push esi
lea ecx, [esp + 0x68]
mov byte [esp + 0x184], 2
call fcn.00475930
push esi
lea ecx, [esp + 0x48]
mov byte [esp + 0x184], 3
call fcn.00475930
push esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x184], 4
call fcn.00475930
lea ecx, [esp + 0x68]
mov byte [esp + 0x180], 5
mov dword [esp + 0x10], esi
mov byte [esp + 0x38], 0
call fcn.0047a3a0
mov al, byte [esp + 0x17]
mov edi, 0x4c4510
mov byte [esp + 0x24], al
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x184], 6
mov ebp, ecx
lea ecx, [esp + 0x28]
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
call fcn.0041c2e0
test al, al
je 0x45ad0a
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
call fcn.0041c2c0
push 5
lea ecx, [esp + 0x18c]
mov byte [esp + 0x184], 7
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x48]
call fcn.00475ae0
push 6
lea ecx, [esp + 0x18c]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x44]
call fcn.00475ae0
push 1
lea ecx, [esp + 0x18c]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x20]
call fcn.00475ae0
push 8
lea ecx, [esp + 0x18c]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x68]
call fcn.00475ae0
lea esi, [ebx + 0x1c]
push 7
mov ecx, esi
mov dword [esp + 0x80], esi
call fcn.00475c70
inc al
mov ecx, esi
push eax
push 7
call fcn.00475c80
push 0
lea ecx, [esp + 0x68]
call fcn.00475c70
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x18]
and eax, 0xff
dec eax
cmp eax, 5
ja case.0x45ade3.5
jmp dword [eax*4 + 0x45b940]
lea ecx, [esp + 0xb0]
push 0xc8
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0xb0]
push 0x5c
push edx
call fcn.00499210
mov byte [eax + 1], 0
xor eax, eax
mov dword [esp + 0x50], eax
add esp, 8
mov dword [esp + 0x4c], eax
mov ecx, esi
mov dword [esp + 0x50], eax
push 6
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 4
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 3
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 2
call fcn.00475c70
and eax, 0xff
lea ecx, [esp + 0x58]
push eax
push str._02X_02X_02X_02X_02X.dat
push ecx
call fcn.00498c63
lea edi, [esp + 0xcc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + ecx + 0xd0]
push eax
call fcn.00498c63
lea ecx, [esp + 0xd4]
push 0
push ecx
mov dword [esp + 0x3c], 0
call fcn.004a3e26
add esp, 0x2c
test eax, eax
jne case.0x45ade3.5
mov dword [esp + 0x10], 1
jmp 0x45b0b0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.00475930
lea ebp, [ebx + 0x20]
mov ecx, ebp
call fcn.00475ae0
lea edx, [esp + 0xb0]
push 0xc8
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0xb0]
push 0x5c
push eax
call fcn.00499210
xor ecx, ecx
mov byte [eax + 1], 0
mov dword [esp + 0x50], ecx
add esp, 8
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
push 6
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov ecx, esi
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 4
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 3
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 2
call fcn.00475c70
and eax, 0xff
lea edx, [esp + 0x58]
push eax
push str._02X_02X_02X_02X_02X.dat
push edx
call fcn.00498c63
lea eax, [esp + 0x64]
lea edi, [esp + 0xcc]
push eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [esp + ecx + 0xd0]
push ecx
call fcn.00498c63
lea edx, [esp + 0xd4]
push 0
push edx
call fcn.004a3e26
add esp, 0x2c
test eax, eax
jne 0x45afd3
lea eax, [esp + 0xb0]
push eax
call fcn.004991e1
add esp, 4
lea ecx, [esp + 0xb0]
xor edi, edi
push 0x4bcaa8
push ecx
mov dword [esp + 0x18], edi
call fcn.004990e6
add esp, 8
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x45b097
push 0x4c4538
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
mov dword [esp + 0x10], eax
jne 0x45b097
push edi
mov ecx, 0x4c4538
mov dword [esp + 0x14], edi
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x40]
call fcn.00475ae0
lea ecx, [esp + 0x3c]
call fcn.00475d00
cmp ax, 0xe
jle 0x45b097
mov dword [esp + 0x10], 1
lea eax, [edi + 0xb]
lea ecx, [esp + 0x3c]
push eax
call fcn.00475c70
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x38]
push ecx
push 1
push 1
push edx
mov byte [esp + 0x48], al
call fcn.00498f6b
mov eax, dword [esp + 0x48]
add esp, 0x10
mov ecx, ebp
push eax
call fcn.00475ce0
inc edi
cmp di, 4
jl 0x45b05d
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00498f15
add esp, 4
cmp word [esp + 0x10], 1
jne case.0x45ade3.5
push ecx
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x45b827
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], 1
call fcn.00475c70
push eax
push 7
mov ecx, esi
jmp 0x45b822
mov dword [esp + 0x10], 0
mov dl, byte [esp + 0x17]
sub esp, 0x10
mov ebp, esp
xor eax, eax
mov edi, str.999999
or ecx, 0xffffffff
mov byte [ebp], dl
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], esp
mov ebx, ecx
push 1
push ebx
mov ecx, ebp
call fcn.0041c2e0
test al, al
je 0x45b156
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
mov esi, str.999999
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
mov byte [ebp], 0
sub esp, 0x10
lea edx, [esp + 0x37]
mov ecx, esp
mov dword [esp + 0xb0], esp
push edx
push 0x4bc5d8
mov byte [esp + 0x1a8], 8
call fcn.0041b350
sub esp, 0x10
lea eax, [esp + 0x92]
mov ecx, esp
mov dword [esp + 0xc4], esp
push eax
push 0x4bcb9c
mov byte [esp + 0x1b8], 9
call fcn.0041b350
sub esp, 0x10
lea edx, [esp + 0xa3]
mov ecx, esp
mov dword [esp + 0xec], esp
push edx
push 0x4c4510
mov byte [esp + 0x1c8], 0xa
call fcn.0041b350
mov eax, dword [esp + 0x74]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0xac], esp
push ecx
add eax, 0x18
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
mov byte [esp + 0x1d8], 0xb
call fcn.00475910
push esi
call fcn.00477540
add esp, 8
push 9
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x1d4], 0xc
call fcn.0041b6f0
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x80], esp
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
add esp, 8
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1e0], 7
push ecx
mov ecx, 0x4c45b8
call fcn.0047ac60
mov dx, word [eax]
mov ecx, dword [0x4ad134]
lea esi, [eax + 4]
mov word [esp + 0x68], dx
mov byte [esp + 0x180], 0xd
mov eax, dword [esi + 8]
mov ebp, eax
cmp ecx, ebp
jae 0x45b26f
mov ebp, ecx
lea edx, [esp + 0x6c]
cmp edx, esi
jne 0x45b294
push ecx
push ebp
lea ecx, [esp + 0x74]
call fcn.0041c1a0
xor ebx, ebx
lea ecx, [esp + 0x6c]
push ebx
push ebx
call fcn.0041c1a0
jmp 0x45b31f
xor ebx, ebx
cmp ebp, ebx
jbe 0x45b2e3
cmp ebp, eax
jne 0x45b2e3
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x45b2aa
mov eax, 0x4ad138
cmp byte [eax - 1], 0xfe
jae 0x45b2e3
push 1
lea ecx, [esp + 0x70]
call fcn.0041ba60
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x45b2c7
mov eax, 0x4ad138
mov dword [esp + 0x70], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x74], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x78], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x45b31f
push 1
push ebp
lea ecx, [esp + 0x74]
call fcn.0041c2e0
test al, al
je 0x45b31f
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x45b2ff
mov esi, 0x4ad138
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x74], ebp
mov byte [ecx + ebp], 0
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x180], 7
cmp eax, ebx
je 0x45b34f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x45b346
cmp al, 0xff
je 0x45b346
dec al
mov byte [ecx], al
jmp 0x45b34f
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
call fcn.00483340
cmp ax, 2
je case.0x45ade3.5
lea edx, [esp + 0x80]
lea ecx, [esp + 0x68]
push edx
call fcn.0047a5f0
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x4ad134]
mov ebx, eax
mov byte [esp + 0x180], 0xe
cmp edi, ebx
jae 0x45b3a3
mov ebx, edi
lea ecx, [esp + 0x24]
cmp ecx, esi
jne 0x45b417
cmp dword [esp + 0x2c], ebx
jae 0x45b3b6
call fcn.00498367
lea ecx, [esp + 0x24]
call fcn.0041c780
mov eax, dword [esp + 0x2c]
sub eax, ebx
cmp eax, edi
jae 0x45b3cb
mov edi, eax
xor ebp, ebp
cmp edi, ebp
jbe 0x45b407
mov edx, dword [esp + 0x28]
sub eax, edi
push eax
lea ecx, [edx + ebx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00498880
mov esi, dword [esp + 0x38]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x24]
push ebp
push esi
call fcn.0041c2e0
test al, al
je 0x45b407
push esi
lea ecx, [esp + 0x28]
call fcn.0041c2c0
push ebp
push ebp
lea ecx, [esp + 0x2c]
call fcn.0041c1a0
jmp 0x45b4a0
xor ebp, ebp
cmp ebx, ebp
jbe 0x45b466
cmp ebx, eax
jne 0x45b466
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x45b42d
mov eax, 0x4ad138
cmp byte [eax - 1], 0xfe
jae 0x45b466
push 1
lea ecx, [esp + 0x28]
call fcn.0041ba60
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x45b44a
mov eax, 0x4ad138
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x45b4a0
push 1
push ebx
lea ecx, [esp + 0x2c]
call fcn.0041c2e0
test al, al
je 0x45b4a0
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x45b482
mov esi, 0x4ad138
mov edi, dword [esp + 0x28]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
call fcn.0041c2c0
mov eax, dword [esp + 0x84]
mov byte [esp + 0x180], 7
cmp eax, ebp
je 0x45b4d0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x45b4c7
cmp al, 0xff
je 0x45b4c7
dec al
mov byte [ecx], al
jmp 0x45b4d0
push ecx
call fcn.00498130
add esp, 4
cmp word [esp + 0x2c], 7
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
jl 0x45b568
mov edx, dword [esp + 0x34]
push ebp
push 1
sub esp, 0x10
lea eax, [edx + 0x18]
mov esi, esp
mov dword [esp + 0x38], esp
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
add esp, 8
push 0xa
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x19c], 0xf
call fcn.0041b6f0
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x84], esp
push ecx
mov ecx, esp
mov dword [esp + 0x88], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0x1a8], 7
call fcn.0047a9a0
jmp 0x45b0fa
mov eax, dword [esp + 0x28]
cmp eax, ebp
jne 0x45b575
mov eax, 0x4ad138
push eax
call fcn.00498d40
mov ecx, esp
mov dword [esp + 0x24], esp
push ebp
mov edi, eax
call fcn.00475930
mov eax, dword [esp + 0x38]
lea esi, [eax + 0x20]
mov ecx, esi
call fcn.00475ae0
mov ecx, edi
shr ecx, 0x18
push ecx
mov ecx, esi
call fcn.00475ce0
mov edx, edi
mov ecx, esi
shr edx, 0x10
push edx
call fcn.00475ce0
mov eax, edi
mov ecx, esi
shr eax, 8
push eax
call fcn.00475ce0
push edi
mov ecx, esi
call fcn.00475ce0
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x10], 1
jmp 0x45b0b0
lea ecx, [esp + 0xb0]
push 0xc8
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0xb0]
push 0x5c
push edx
call fcn.00499210
mov byte [eax + 1], 0
xor eax, eax
mov dword [esp + 0x50], eax
add esp, 8
mov dword [esp + 0x4c], eax
mov ecx, esi
mov dword [esp + 0x50], eax
push 6
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 4
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 3
call fcn.00475c70
and eax, 0xff
mov ecx, esi
push eax
push 2
call fcn.00475c70
and eax, 0xff
lea ecx, [esp + 0x58]
push eax
push str._02X_02X_02X_02X_02X.dat
push ecx
call fcn.00498c63
lea edi, [esp + 0xcc]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + ecx + 0xd0]
push eax
call fcn.00498c63
add esp, 0x20
mov ecx, esp
mov dword [esp + 0x24], esp
push 0
call fcn.00475930
lea edi, [ebx + 0x20]
mov ecx, edi
call fcn.00475ae0
lea ecx, [esp + 0xb0]
push 0
push ecx
mov dword [esp + 0x18], 0
call fcn.004a3e26
add esp, 8
test eax, eax
jne case.0x45ade3.5
lea edx, [esp + 0xb0]
push 0x4bcaa4
push edx
call fcn.004990e6
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x45b718
mov al, byte [ebp + 0xc]
mov bl, 0x10
test bl, al
jne 0x45b718
push ebp
push 1
lea eax, [esp + 0x40]
push 1
push eax
call fcn.004990f9
mov ecx, dword [esp + 0x48]
add esp, 0x10
push ecx
mov ecx, edi
call fcn.00475ce0
test byte [ebp + 0xc], bl
je 0x45b6f5
push ebp
call fcn.00498f15
add esp, 4
mov ecx, edi
call fcn.00475d00
cmp ax, 4
jl case.0x45ade3.5
mov dword [esp + 0x10], 1
jmp 0x45b0b0
lea edi, [ebx + 0x20]
mov dword [esp + 0x10], 0
mov ecx, edi
call fcn.00475d00
cmp ax, 4
jl case.0x45ade3.5
push 0
mov ecx, edi
call fcn.00475c70
push eax
push 0xd
lea ecx, [esp + 0x24]
call fcn.00475c80
push 1
mov ecx, edi
call fcn.00475c70
push eax
push 0xe
lea ecx, [esp + 0x24]
call fcn.00475c80
push 2
mov ecx, edi
call fcn.00475c70
push eax
push 0xf
lea ecx, [esp + 0x24]
call fcn.00475c80
push 3
mov ecx, edi
call fcn.00475c70
push eax
push 0x10
lea ecx, [esp + 0x24]
call fcn.00475c80
push 0x4c4538
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x45b7df
mov dword [esp + 0x10], 1
jmp 0x45b0b0
mov dword [esp + 0x10], 0
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x45b827
push 0
lea ecx, [esp + 0x44]
mov dword [esp + 0x14], 1
call fcn.00475c70
mov ecx, dword [esp + 0x7c]
push eax
push 7
call fcn.00475c80
mov eax, dword [esp + 0x28]
xor esi, esi
cmp eax, esi
je 0x45b84e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x45b845
cmp al, 0xff
je 0x45b845
dec al
mov byte [ecx], al
jmp 0x45b84e
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], esi
cmp eax, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
je 0x45b87f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x45b876
cmp al, 0xff
je 0x45b876
dec al
mov byte [ecx], al
jmp 0x45b87f
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x40]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov byte [esp + 0x180], 4
call fcn.00475a40
lea ecx, [esp + 0x44]
mov byte [esp + 0x180], 3
call fcn.00475a40
lea ecx, [esp + 0x64]
mov byte [esp + 0x180], 2
call fcn.00475a40
lea ecx, [esp + 0x3c]
mov byte [esp + 0x180], 1
call fcn.00475a40
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 0
call fcn.00475a40
mov eax, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
cmp esi, eax
mov dword [esp + 0x180], 0xffffffff
mov edi, eax
je 0x45b914
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x45b8ff
mov esi, dword [esp + 0x18c]
push esi
call fcn.00498130
mov ecx, dword [esp + 0x17c]
mov ax, word [esp + 0x14]
add esp, 4
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0x10