Function at 0x494bc0
Capabilities:
Get geographical location
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4d190d
mov eax, dword fs:[0]
push eax
sub esp, 0x328
mov eax, dword [0x54d158]
xor eax, esp
mov dword [esp + 0x324], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54d158]
xor eax, esp
push eax
lea eax, [esp + 0x33c]
mov dword fs:[0], eax
mov ecx, dword [esp + 0x358]
mov eax, dword [esp + 0x34c]
mov esi, dword [esp + 0x350]
mov ebx, dword [esp + 0x354]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], 0
call fcn.00474bb0
push ebx
mov dword [esp + 0x348], 1
call fcn.004776e0
mov ebp, eax
add esp, 4
mov dword [esp + 0x2c], ebp
call fcn.004784e0
cmp word [0x550c08], 0
mov edi, eax
mov dword [esp + 0x14], edi
jne 0x494c9a
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x1d
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ax, word [esp + 0x38]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x1e
push edi
mov word [0x550c04], ax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dx, word [esp + 0x38]
mov word [0x550c08], dx
test ebp, ebp
jne 0x494cea
test esi, esi
jne 0x494cb7
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.004755e0
jmp 0x494e54
cmp dword [esi + 8], 0
jne 0x494ccd
cmp dword [esi + 4], 0
jne 0x494ccd
cmp dword [esi], 0
mov eax, 0x64
je 0x494cd2
mov eax, 0x67
mov ecx, 0xff
lea esi, [esp + 0x138]
mov edx, edi
call fcn.00494a50
jmp 0x494d97
cmp ebp, 1
jne 0x494d0a
mov ax, word [ebx]
mov ecx, 0xff
lea esi, [esp + 0x138]
mov edx, edi
call fcn.00494a50
jmp 0x494d97
test ebx, ebx
je 0x494d9e
push 0x25
push ebx
call fcn.00478540
add esp, 8
test eax, eax
je 0x494d9e
sub eax, ebx
sar eax, 1
js 0x494d9e
xor edi, edi
xor ebp, ebp
cmp dword [esp + 0x2c], edi
jle 0x494d8d
movzx eax, word [ebx + edi*2]
cmp ax, 0x25
jne 0x494d79
mov ax, word [ebx + edi*2 + 2]
mov edx, dword [esp + 0x14]
mov ecx, 0x80
lea esi, [esp + 0x38]
call fcn.00494a50
mov ecx, esi
push ecx
call fcn.004776e0
mov esi, eax
push esi
lea edx, [esp + 0x40]
push edx
lea eax, [esp + ebp*2 + 0x144]
push eax
call fcn.0047ccf0
add esp, 0x10
add ebp, esi
add edi, 2
jmp 0x494d87
mov word [esp + ebp*2 + 0x138], ax
add ebp, 1
add edi, 1
cmp edi, dword [esp + 0x2c]
jl 0x494d31
mov word [esp + ebp*2 + 0x138], 0
lea ebx, [esp + 0x138]
mov eax, dword [esp + 0x1c]
xor edi, edi
or ecx, 0xffffffff
cmp eax, edi
je 0x494dd1
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edi
mov dword [eax + 0x30], edi
push 0x80
lea ecx, [esp + 0x2c]
call fcn.00473380
push ebx
mov dword [esp + 0x1c], eax
call fcn.004776e0
add esp, 4
xor ebp, ebp
cmp eax, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edi
jle 0x494e2f
lea ebx, [ebx]
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, ecx
jle 0x494eba
cmp eax, 1
jne 0x494e97
cmp word [ebx + ebp*2], 0x27
jne 0x494ea6
mov dword [esp + 0x24], ecx
add ebp, 1
cmp ebp, dword [esp + 0x2c]
jl 0x494e00
mov eax, dword [esp + 0x18]
push 0xffffffffffffffff
lea ecx, [esp + 0x2c]
mov word [eax + edi*2], 0
call fcn.00473450
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call fcn.004755e0
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], 1
mov byte [esp + 0x344], 0
call fcn.004732d0
mov eax, esi
mov ecx, dword [esp + 0x33c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x324]
xor ecx, esp
call fcn.004ac89d
add esp, 0x334
ret
cmp eax, 2
jne 0x494ea6
cmp word [ebx + ebp*2], 0x22
jmp 0x494e1c
mov cx, word [ebx + ebp*2]
mov edx, dword [esp + 0x18]
mov word [edx + edi*2], cx
add edi, 1
jmp 0x494e26
movzx eax, word [ebx + ebp*2]
mov esi, 0x64
cmp ax, si
jne 0x4951ae
test ebp, ebp
jle 0x494eea
cmp word [ebx + ebp*2 - 2], si
jne 0x494eea
mov eax, dword [esp + 0x18]
mov word [eax + edi*2], si
add ebp, 1
add edi, 1
jmp 0x494e29
movzx ecx, word [ebx + ebp*2 + 2]
cmp cx, si
jne 0x49512e
cmp word [ebx + ebp*2 + 4], si
jne 0x495014
cmp word [ebx + ebp*2 + 6], si
jne 0x495014
mov eax, dword [esp + 0x20]
test eax, eax
je 0x494fc4
cmp dword [eax + 0xc], 0
jle 0x494fc4
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x494f36
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x30
jmp 0x494fa8
cmp eax, 1
jne 0x494f4b
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x2a
push ecx
jmp 0x494fad
cmp eax, 2
jne 0x494f60
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x2b
push eax
jmp 0x494fad
cmp eax, 3
jne 0x494f70
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x2c
jmp 0x494fa8
cmp eax, 4
jne 0x494f85
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x2d
push ecx
jmp 0x494fad
cmp eax, 5
jne 0x494f9a
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x2e
push eax
jmp 0x494fad
cmp eax, 6
jne 0x494fb3
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x2f
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0x38]
push eax
call fcn.004776e0
add esp, 4
mov esi, eax
jmp 0x494ff4
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x30
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0x38]
push eax
call fcn.004776e0
mov esi, eax
push esi
lea ecx, [esp + 0x40]
push 0x5f
push ecx
call fcn.004b2f9d
add esp, 0x10
mov eax, dword [esp + 0x18]
push esi
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
add esp, 0xc
add edi, esi
add ebp, 4
jmp 0x494e29
cmp cx, si
jne 0x49512e
cmp word [ebx + ebp*2 + 4], si
jne 0x49512e
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4950de
cmp dword [eax + 0xc], 0
jle 0x4950de
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x495050
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x37
jmp 0x4950c2
cmp eax, 1
jne 0x495065
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x31
push edx
jmp 0x4950c7
cmp eax, 2
jne 0x49507a
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x32
push ecx
jmp 0x4950c7
cmp eax, 3
jne 0x49508a
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x33
jmp 0x4950c2
cmp eax, 4
jne 0x49509f
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x34
push edx
jmp 0x4950c7
cmp eax, 5
jne 0x4950b4
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x35
push ecx
jmp 0x4950c7
cmp eax, 6
jne 0x4950cd
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x36
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
add esp, 4
mov esi, eax
jmp 0x49510e
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x37
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
mov esi, eax
push esi
lea edx, [esp + 0x40]
push 0x5f
push edx
call fcn.004b2f9d
add esp, 0x10
mov ecx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x3c]
push eax
lea edx, [ecx + edi*2]
push edx
call fcn.0047ccf0
add esp, 0xc
add edi, esi
add ebp, 3
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49516d
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x49516d
cmp cx, si
push eax
jne 0x495158
lea eax, [esp + 0x3c]
push str._02d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x49517f
lea ecx, [esp + 0x3c]
push 0x513edc
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x49517f
lea edx, [esp + 0x38]
push 0x513ed4
push edx
call fcn.0047ccb0
add esp, 8
mov ecx, dword [esp + 0x18]
push 2
lea eax, [esp + 0x3c]
push eax
lea edx, [ecx + edi*2]
push edx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x4951a1
mov dword [eax + 0x14], edi
add edi, 2
cmp word [ebx + ebp*2 + 2], si
jmp 0x495b09
mov edx, 0x68
cmp ax, dx
jne 0x495274
test ebp, ebp
jle 0x4951da
cmp word [ebx + ebp*2 - 2], dx
jne 0x4951da
mov eax, dword [esp + 0x18]
mov word [eax + edi*2], dx
add ebp, 1
add edi, 1
jmp 0x494e29
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4951fa
lea ecx, [esp + 0x38]
push 0x513ed4
push ecx
call fcn.0047ccb0
mov esi, dword [esp + 0x24]
add esp, 8
jmp 0x49523b
mov eax, dword [ecx + 8]
cmp eax, 0xc
mov esi, dword [esp + 0x1c]
jl 0x495214
sub eax, 0xc
test esi, esi
je 0x495214
mov dword [esi + 0x30], 1
cmp word [ebx + ebp*2 + 2], dx
push eax
jne 0x495228
push str._02d
lea edx, [esp + 0x40]
push edx
jmp 0x495232
push 0x513edc
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov edx, dword [esp + 0x18]
push 2
lea ecx, [esp + 0x3c]
push ecx
lea eax, [edx + edi*2]
push eax
call fcn.0047ccf0
add esp, 0xc
test esi, esi
je 0x495266
cmp dword [esi + 0x18], 0
jge 0x495266
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], 2
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x68
jmp 0x495b09
mov ecx, 0x48
cmp ax, cx
jne 0x495321
test ebp, ebp
jle 0x4952a0
cmp word [ebx + ebp*2 - 2], cx
jne 0x4952a0
mov edx, dword [esp + 0x18]
mov word [edx + edi*2], cx
add ebp, 1
add edi, 1
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4952bc
lea eax, [esp + 0x38]
push 0x513ed4
push eax
call fcn.0047ccb0
add esp, 8
jmp 0x4952ea
cmp word [ebx + ebp*2 + 2], cx
jne 0x4952d3
mov ecx, dword [eax + 8]
push ecx
push str._02d
lea edx, [esp + 0x40]
push edx
jmp 0x4952e1
mov eax, dword [eax + 8]
push eax
push 0x513edc
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [esp + 0x18]
push 2
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x495313
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], 1
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x48
jmp 0x495b09
mov ecx, 0x6d
cmp ax, cx
jne 0x4953c7
test ebp, ebp
jle 0x49534d
cmp word [ebx + ebp*2 - 2], cx
jne 0x49534d
mov edx, dword [esp + 0x18]
mov word [edx + edi*2], cx
add ebp, 1
add edi, 1
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x495369
lea eax, [esp + 0x38]
push 0x513ed4
push eax
call fcn.0047ccb0
add esp, 8
jmp 0x495397
cmp word [ebx + ebp*2 + 2], cx
jne 0x495380
mov ecx, dword [eax + 4]
push ecx
push str._02d
lea edx, [esp + 0x40]
push edx
jmp 0x49538e
mov eax, dword [eax + 4]
push eax
push 0x513edc
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [esp + 0x18]
push 2
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x4953b9
mov dword [eax + 0x20], edi
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x6d
jmp 0x495b09
mov edx, 0x4d
cmp ax, dx
jne 0x4957dd
test ebp, ebp
jle 0x4953f3
cmp word [ebx + ebp*2 - 2], dx
jne 0x4953f3
mov eax, dword [esp + 0x18]
mov word [eax + edi*2], dx
add ebp, 1
add edi, 1
jmp 0x494e29
movzx ecx, word [ebx + ebp*2 + 2]
cmp cx, dx
jne 0x49574b
cmp word [ebx + ebp*2 + 4], dx
jne 0x4955a7
cmp word [ebx + ebp*2 + 6], dx
jne 0x4955a7
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49553c
mov eax, dword [eax + 0x10]
test eax, eax
jl 0x49553c
jne 0x495443
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x38
push edx
jmp 0x495525
cmp eax, 1
jne 0x49545b
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x39
push ecx
jmp 0x495525
cmp eax, 2
jne 0x49546e
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x3a
jmp 0x495520
cmp eax, 3
jne 0x495486
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x3b
push edx
jmp 0x495525
cmp eax, 4
jne 0x49549e
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x3c
push ecx
jmp 0x495525
cmp eax, 5
jne 0x4954ae
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x3d
jmp 0x495520
cmp eax, 6
jne 0x4954c3
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x3e
push edx
jmp 0x495525
cmp eax, 7
jne 0x4954d8
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x3f
push ecx
jmp 0x495525
cmp eax, 8
jne 0x4954e8
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x40
jmp 0x495520
cmp eax, 9
jne 0x4954fd
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x41
push edx
jmp 0x495525
cmp eax, 0xa
jne 0x495512
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x42
push ecx
jmp 0x495525
cmp eax, 0xb
jne 0x49552b
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x43
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
add esp, 4
mov esi, eax
jmp 0x49556c
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x38
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
mov esi, eax
push esi
lea edx, [esp + 0x40]
push 0x5f
push edx
call fcn.004b2f9d
add esp, 0x10
mov ecx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x3c]
push eax
lea edx, [ecx + edi*2]
push edx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x49559d
cmp dword [eax + 8], 0
jge 0x49559d
mov dword [eax + 8], edi
mov dword [eax + 0x10], 1
mov dword [eax + 0xc], esi
add edi, esi
add ebp, 4
jmp 0x494e29
cmp cx, dx
jne 0x49574b
cmp word [ebx + ebp*2 + 4], dx
jne 0x49574b
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4956e0
mov eax, dword [eax + 0x10]
test eax, eax
jl 0x4956e0
jne 0x4955e7
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x44
push ecx
jmp 0x4956c9
cmp eax, 1
jne 0x4955ff
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x45
push eax
jmp 0x4956c9
cmp eax, 2
jne 0x495612
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x46
jmp 0x4956c4
cmp eax, 3
jne 0x49562a
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x47
push ecx
jmp 0x4956c9
cmp eax, 4
jne 0x495642
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x48
push eax
jmp 0x4956c9
cmp eax, 5
jne 0x495652
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x49
jmp 0x4956c4
cmp eax, 6
jne 0x495667
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x4a
push ecx
jmp 0x4956c9
cmp eax, 7
jne 0x49567c
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x4b
push eax
jmp 0x4956c9
cmp eax, 8
jne 0x49568c
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x4c
jmp 0x4956c4
cmp eax, 9
jne 0x4956a1
mov ecx, dword [esp + 0x14]
push 0x1f
lea eax, [esp + 0x3c]
push eax
push 0x4d
push ecx
jmp 0x4956c9
cmp eax, 0xa
jne 0x4956b6
mov eax, dword [esp + 0x14]
push 0x1f
lea edx, [esp + 0x3c]
push edx
push 0x4e
push eax
jmp 0x4956c9
cmp eax, 0xb
jne 0x4956cf
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x4f
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0x38]
push eax
call fcn.004776e0
add esp, 4
mov esi, eax
jmp 0x495710
mov edx, dword [esp + 0x14]
push 0x1f
lea ecx, [esp + 0x3c]
push ecx
push 0x44
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0x38]
push eax
call fcn.004776e0
mov esi, eax
push esi
lea ecx, [esp + 0x40]
push 0x5f
push ecx
call fcn.004b2f9d
add esp, 0x10
mov eax, dword [esp + 0x18]
push esi
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x495741
cmp dword [eax + 8], 0
jge 0x495741
mov dword [eax + 8], edi
mov dword [eax + 0x10], 2
mov dword [eax + 0xc], esi
add edi, esi
add ebp, 3
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49578d
mov eax, dword [eax + 0x10]
test eax, eax
jl 0x49578d
add eax, 1
cmp cx, dx
push eax
jne 0x495778
lea edx, [esp + 0x3c]
push str._02d
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x49579f
lea eax, [esp + 0x3c]
push 0x513edc
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x49579f
lea ecx, [esp + 0x38]
push 0x513ed4
push ecx
call fcn.0047ccb0
add esp, 8
mov eax, dword [esp + 0x18]
push 2
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x4957cf
mov dword [eax + 8], edi
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 2
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x4d
jmp 0x495b09
mov ecx, 0x73
cmp ax, cx
jne 0x495881
test ebp, ebp
jle 0x495809
cmp word [ebx + ebp*2 - 2], cx
jne 0x495809
mov edx, dword [esp + 0x18]
mov word [edx + edi*2], cx
add ebp, 1
add edi, 1
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x495825
lea eax, [esp + 0x38]
push 0x513ed4
push eax
call fcn.0047ccb0
add esp, 8
jmp 0x495851
cmp word [ebx + ebp*2 + 2], cx
jne 0x49583b
mov ecx, dword [eax]
push ecx
push str._02d
lea edx, [esp + 0x40]
push edx
jmp 0x495848
mov eax, dword [eax]
push eax
push 0x513edc
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [esp + 0x18]
push 2
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x495873
mov dword [eax + 0x24], edi
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x73
jmp 0x495b09
cmp ax, 0x61
je 0x495a3d
cmp ax, 0x74
je 0x495a3d
mov edx, 0x79
cmp ax, dx
jne 0x4959e9
test ebp, ebp
jle 0x4958c1
cmp word [ebx + ebp*2 - 2], dx
jne 0x4958c1
mov eax, dword [esp + 0x18]
mov word [eax + edi*2], dx
add ebp, 1
add edi, 1
jmp 0x494e29
movzx ecx, word [ebx + ebp*2 + 2]
cmp cx, dx
jne 0x495954
cmp word [ebx + ebp*2 + 4], dx
jne 0x495954
mov eax, dword [esp + 0x20]
test eax, eax
je 0x495903
mov eax, dword [eax + 0x14]
cmp eax, 0xfffff894
jl 0x495903
add eax, 0x76c
push eax
lea ecx, [esp + 0x3c]
push str._04d
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x495915
lea edx, [esp + 0x38]
push 0x513ebc
push edx
call fcn.0047ccb0
add esp, 8
mov ecx, dword [esp + 0x18]
push 4
lea eax, [esp + 0x3c]
push eax
lea edx, [ecx + edi*2]
push edx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x49593d
mov dword [eax], edi
mov dword [eax + 4], 4
add edi, 4
cmp word [ebx + ebp*2 + 6], 0x79
jne 0x495126
add ebp, 4
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4959a1
mov eax, dword [eax + 0x14]
cmp eax, 0xfffff894
jl 0x4959a1
add eax, 0x76c
cmp cx, dx
cdq
jne 0x495989
idiv esi
lea eax, [esp + 0x38]
push edx
push str._02d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x4959b3
idiv esi
lea ecx, [esp + 0x38]
push edx
push 0x513edc
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x4959b3
lea edx, [esp + 0x38]
push 0x513ed4
push edx
call fcn.0047ccb0
add esp, 8
mov ecx, dword [esp + 0x18]
push 2
lea eax, [esp + 0x3c]
push eax
lea edx, [ecx + edi*2]
push edx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x4959db
mov dword [eax], edi
mov dword [eax + 4], 2
add edi, 2
cmp word [ebx + ebp*2 + 2], 0x79
jmp 0x495b09
cmp ax, 0x5c
jne 0x495a07
mov ax, word [ebx + ebp*2 + 2]
mov ecx, dword [esp + 0x18]
mov word [ecx + edi*2], ax
add edi, 1
add ebp, 1
jmp 0x494e26
cmp ax, 0x27
jne 0x495a1a
mov dword [esp + 0x24], 1
jmp 0x494e26
cmp ax, 0x22
jne 0x495a2d
mov dword [esp + 0x24], 2
jmp 0x494e26
mov edx, dword [esp + 0x18]
mov word [edx + edi*2], ax
add edi, 1
jmp 0x494e26
test ebp, ebp
jle 0x495a5b
cmp word [ebx + ebp*2 - 2], ax
jne 0x495a5b
mov ecx, dword [esp + 0x18]
mov word [ecx + edi*2], ax
add ebp, 1
add edi, 1
jmp 0x494e29
mov eax, dword [esp + 0x20]
test eax, eax
push 0x1f
jne 0x495a95
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x3c]
push edx
push 0x28
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
mov esi, eax
push esi
lea edx, [esp + 0x40]
push 0x5f
push edx
call fcn.004b2f9d
add esp, 0x10
jmp 0x495aca
cmp dword [eax + 8], 0xc
jl 0x495aa9
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push eax
push 0x29
push ecx
jmp 0x495ab5
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x3c]
push edx
push 0x28
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea ecx, [esp + 0x38]
push ecx
call fcn.004776e0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x18]
push esi
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + edi*2]
push ecx
call fcn.0047ccf0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x495afe
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
cmp dword [ecx + 8], 0xc
setge dl
mov dword [eax + 0x30], edx
mov dx, word [ebx + ebp*2 + 2]
add edi, esi
cmp dx, word [ebx + ebp*2]
jne 0x494e26
add ebp, 2
jmp 0x494e29