Function at 0x1056818
Capabilities:
Get file system object information
Get geographical location
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x127208c
call fcn.01160168
sub esp, 0x390
mov eax, dword [0x12cf8c8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [ebp - 0x378], eax
mov eax, dword [ebp + 0x10]
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
push dword [esi + 0x68]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x360], esi
mov dword [ebp - 0x350], edi
mov dword [ebp - 0x374], eax
mov byte [ebp - 0x331], 1
call fcn.01055c45
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x364], ebx
je 0x1056cb2
mov dword [ebp - 0x330], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x330]
push edx
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x10568b4
push dword [ebp - 0x330]
lea ecx, [esi + 0x70]
call fcn.01032977
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x354], ebx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x354]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jl 0x105690b
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x105690b
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x105690b
push dword [ebp - 0x340]
lea ecx, [esi + 0x84]
call fcn.01032977
push ebx
xor eax, eax
mov dword [ebp - 0x328], ebx
mov ecx, 0xac
lea edi, [ebp - 0x324]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x84]
push 0x2b4
lea ecx, [ebp - 0x328]
push ecx
push ebx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
jne 0x1056945
mov byte [ebp - 0x331], bl
mov eax, dword [esi + 0x84]
cmp dword [eax - 8], ebx
je 0x1056c7b
cmp byte [ebp - 0x331], bl
je 0x1056c7b
push eax
call fcn.01055a9b
push 2
mov edi, eax
lea eax, [ebp - 0x33c]
push eax
push 0x20000011
push 0x400
mov esi, edx
mov dword [ebp - 0x33c], ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov eax, dword [0x12ce0a0]
inc dword [ebp - 0x33c]
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x33c]
lea eax, [ebp - 0x34c]
push 0x1005388
push eax
call fcn.01032a3e
mov eax, dword [0x12ce0a0]
add esp, 0xc
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x34c]
push eax
push 0x10054c0
lea eax, [ebp - 0x35c]
push eax
call fcn.01056338
mov byte [ebp - 4], 6
push 0x10054b8
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045b22
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x368]
call fcn.01044b40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x344]
call fcn.010328fa
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x35c]
call fcn.010328fa
cmp dword [ebp - 0x33c], ebx
je 0x1056a55
mov ecx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x32c]
lea eax, [eax + eax*4]
shl eax, 1
dec dword [ebp - 0x33c]
dec ecx
jne 0x1056a41
mov dword [ebp - 0x32c], eax
cmp esi, ebx
ja 0x1056e0d
cmp edi, 0x400
jb 0x1056ea3
cmp esi, ebx
ja 0x1056e0d
jb 0x1056a7f
cmp edi, 0x100000
jae 0x1056db4
mov eax, edi
shrd eax, esi, 0xa
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3ff
shr esi, 0xa
push edi
mov dword [ebp - 0x358], 0x4c5
mov dword [ebp - 0x344], esi
call fcn.01160460
mov esi, edx
mov edi, eax
shrd edi, esi, 0xa
shr esi, 0xa
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 9
push dword [ebp - 0x344]
lea eax, [ebp - 0x32c]
push dword [ebp - 0x348]
push 0x1005388
push eax
call fcn.01032a3e
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 0xa
push esi
push edi
push dword [ebp - 0x368]
lea eax, [ebp - 0x35c]
push eax
call fcn.01032a3e
add esp, 0x20
push 0x1005244
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.01045b22
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x35c]
push ecx
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045ab7
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x32c]
call fcn.01044b40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x344]
call fcn.010328fa
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.010328fa
mov esi, dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
push ebx
push ebx
push ebx
push dword [ebp - 0x32c]
mov edi, 0x400
push ebx
push edi
call esi
cmp eax, ebx
je 0x1056c39
mov ecx, dword [0x12ce0a0]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 0xd
inc eax
push eax
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x344], eax
call fcn.0103299e
cmp eax, ebx
je 0x1056c2a
push dword [ebp - 0x344]
push eax
push ebx
push dword [ebp - 0x32c]
push ebx
push edi
call esi
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0xe
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01032a95
push dword [ebp - 0x338]
mov eax, dword [ebp - 0x360]
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a3e
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x338]
call fcn.01032a0b
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x344]
call fcn.010328fa
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.010328fa
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x35c]
call fcn.010328fa
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x32c]
call fcn.010328fa
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x368]
call fcn.010328fa
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34c]
call fcn.010328fa
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1056c8f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
push dword [ebp - 0x340]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
mov byte [ebp - 4], bl
push dword [ebp - 0x330]
call edi
mov edi, dword [ebp - 0x350]
fld qword [0x10054b0]
mov al, byte [ebp - 0x331]
push dword [esi + 0x68]
fst qword [ebp - 0x38c]
fst qword [ebp - 0x394]
lea ecx, [ebp - 0x37c]
fstp qword [ebp - 0x39c]
mov dword [ebp - 0x380], ebx
mov dword [ebp - 0x384], ebx
mov dword [ebp - 0x33c], ebx
mov byte [esi + 0xc0], al
call fcn.01055bf3
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x1056f90
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x60]
mov byte [esi + 0xc1], 1
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
jl 0x1056d87
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x1056d87
cmp dword [ebp - 0x330], 1
je 0x1056d87
mov byte [esi + 0xc1], bl
push dword [esi + 0x68]
lea ecx, [ebp - 0x34c]
call fcn.01055c6e
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x34c], ebx
je 0x1056eed
mov dword [ebp - 0x33c], 0x4cf
jmp 0x1056f6d
cmp esi, ebx
ja 0x1056e0d
jb 0x1056dc2
cmp edi, 0x40000000
jae 0x1056e0d
mov eax, edi
shrd eax, esi, 0x14
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0xfffff
shr esi, 0x14
push edi
mov dword [ebp - 0x358], 0x4c6
mov dword [ebp - 0x344], esi
call fcn.01160460
mov esi, edx
mov edi, eax
shrd edi, esi, 0x14
shr esi, 0x14
jmp 0x1056ac5
cmp esi, 0x100
ja 0x1056e66
jb 0x1056e1b
cmp edi, ebx
jae 0x1056e66
mov eax, edi
shrd eax, esi, 0x1e
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3fffffff
shr esi, 0x1e
push edi
mov dword [ebp - 0x358], 0x4c7
mov dword [ebp - 0x344], esi
call fcn.01160460
mov esi, edx
mov edi, eax
shrd edi, esi, 0x1e
shr esi, 0x1e
jmp 0x1056ac5
mov eax, esi
shr eax, 8
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
and esi, 0xff
push esi
push edi
mov dword [ebp - 0x358], 0x4c8
mov dword [ebp - 0x344], ebx
call fcn.01160460
mov edi, edx
shr edi, 8
xor esi, esi
jmp 0x1056ac5
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 8
push 0x4c4
lea ecx, [ebp - 0x344]
call fcn.01032a95
mov eax, dword [ebp - 0x360]
push esi
push edi
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a3e
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x344]
jmp 0x1056c52
push dword [esi + 0x68]
lea ecx, [ebp - 0x330]
call fcn.01055c97
mov byte [ebp - 4], 0x12
push dword [esi + 0x68]
lea ecx, [ebp - 0x354]
call fcn.01055cc0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x354], ebx
je 0x1056f33
xor eax, eax
cmp dword [ebp - 0x330], ebx
sete al
lea eax, [eax + eax + 0x4cb]
mov dword [ebp - 0x33c], eax
jmp 0x1056f45
cmp dword [ebp - 0x330], ebx
je 0x1056f45
mov dword [ebp - 0x33c], 0x4ce
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1056f59
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1056f6d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1056f81
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x340]
jmp 0x10570e1
push dword [esi + 0x68]
lea ecx, [ebp - 0x32c]
call fcn.0103d40f
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x10570d7
mov ecx, dword [eax]
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
push eax
call dword [ecx + 0x5c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x394]
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x34c]
fstp qword [ebp - 0x38c]
call fcn.0103d473
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x34c], ebx
je 0x105700e
mov dword [ebp - 0x33c], 0x4cb
jmp 0x10570c3
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x354]
call fcn.0103d49c
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x354], ebx
je 0x1057037
mov dword [ebp - 0x33c], 0x4cd
jmp 0x10570af
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x340]
call fcn.0103d3e6
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x340], ebx
je 0x1057060
mov dword [ebp - 0x33c], 0x4ce
jmp 0x105709b
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x330]
call fcn.0103d3bd
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x330], ebx
je 0x1057087
mov dword [ebp - 0x33c], 0x4cf
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x105709b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x10570af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x10570c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x10570d7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x10570eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x364], ebx
je 0x10576a5
cmp byte [ebp - 0x331], bl
je 0x10576a5
mov dword [ebp - 0x358], ebx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x358]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jne 0x105768b
cmp dword [ebp - 0x358], ebx
je 0x105768b
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01055ce9
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x364]
lea ecx, [ebp - 0x34c]
call fcn.0103d40f
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057241
cmp dword [ebp - 0x37c], ebx
jne 0x105718f
cmp dword [ebp - 0x34c], ebx
jne 0x105718f
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057241
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
test eax, eax
mov edi, 0x1005498
jl 0x10571d6
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x10571d6
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x9c]
push edi
push eax
call fcn.01032a3e
add esp, 0xc
mov eax, dword [ebp - 0x344]
lea edx, [ebp - 0x340]
push edx
mov dword [ebp - 0x340], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
test eax, eax
jl 0x1057216
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x1057216
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0xac]
push edi
push eax
call fcn.01032a3e
add esp, 0xc
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x340]
add eax, ecx
cmp eax, ebx
je 0x1057241
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x88]
push edi
push eax
call fcn.01032a3e
add esp, 0xc
push dword [ebp - 0x358]
lea ecx, [ebp - 0x35c]
call fcn.01055d12
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.01055d3b
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x10573bb
mov ecx, dword [eax]
lea edx, [ebp - 0x380]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x35c]
mov ecx, dword [eax]
lea edx, [ebp - 0x384]
push edx
push eax
call dword [ecx + 0x24]
fldz
mov eax, dword [ebp - 0x35c]
fstp qword [ebp - 0x36c]
mov ecx, dword [eax]
lea edx, [ebp - 0x36c]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x10573bb
fld qword [0x1003fb0]
fld qword [ebp - 0x36c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10573bb
fld qword [ebp - 0x36c]
call sub.msvcrt.dll__ftol
mov dword [ebp - 0x330], eax
fild dword [ebp - 0x330]
fsubr qword [ebp - 0x36c]
fmul qword [0x1003508]
call sub.msvcrt.dll__ftol
cmp eax, ebx
mov dword [ebp - 0x340], eax
je 0x10573a1
push 0x100548c
lea ecx, [ebp - 0x338]
call fcn.0103966b
mov byte [ebp - 4], 0x1e
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
jg 0x1057350
push 0x1005244
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.010524f5
push 0x1005478
lea ecx, [ebp - 0x338]
call fcn.010524f5
push dword [ebp - 0x340]
lea eax, [esi + 0xa0]
push dword [ebp - 0x330]
push dword [ebp - 0x338]
push eax
call fcn.01032a3e
add esp, 0x10
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x338]
call fcn.010328fa
jmp 0x10573bb
push dword [ebp - 0x330]
lea eax, [esi + 0xa0]
push 0x1005464
push eax
call fcn.01032a3e
add esp, 0xc
cmp dword [ebp - 0x354], ebx
je 0x105763b
mov dword [ebp - 0x32c], ebx
mov byte [ebp - 4], 0x1f
mov ecx, dword [0x12d28f8]
lea eax, [ebp - 0x32c]
push eax
push 0x1005404
push 0x17
push ebx
push 0x1005454
call fcn.0116b561
push dword [esi + 0x84]
lea ecx, [ebp - 0x330]
call fcn.01257752
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x30]
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x330]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x368]
push edx
mov dword [ebp - 0x368], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x338], ebx
jmp 0x10574be
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x368]
jge 0x1057627
mov eax, dword [ebp - 0x32c]
push dword [ebp - 0x338]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x74]
push edx
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0x64]
call fcn.0126bdb2
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x64]
push edx
push eax
call dword [ecx + 0x3c]
push 4
pop ecx
mov edi, 0x1007a4c
lea esi, [ebp - 0x74]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x10574cf
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bda4
inc dword [ebp - 0x338]
mov esi, dword [ebp - 0x360]
cmp dword [ebp - 0x368], ebx
jg 0x1057445
jmp 0x1057627
push 4
pop ecx
mov edi, 0x100787c
lea esi, [ebp - 0x38]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1057615
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov esi, eax
mov dword [ebp - 0x340], esi
je 0x1057615
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x360]
add eax, 0xb0
push 0x100548c
push eax
call fcn.01032a3e
mov ecx, dword [esi + 4]
mov eax, ecx
cdq
mov edi, 0x3e8
mov esi, edi
idiv esi
add esp, 0xc
mov esi, eax
imul eax, eax, 0x3e8
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 1
cdq
idiv edi
cmp eax, ebx
mov dword [ebp - 0x330], eax
je 0x10575db
push 0x1005444
lea ecx, [ebp - 0x338]
call fcn.0103966b
mov byte [ebp - 4], 0x22
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
jg 0x1057589
push 0x1005244
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.010524f5
push 0x100542c
lea ecx, [ebp - 0x338]
call fcn.010524f5
push dword [ebp - 0x330]
push esi
mov esi, dword [ebp - 0x360]
push dword [ebp - 0x338]
lea eax, [esi + 0xb4]
push eax
call fcn.01032a3e
add esp, 0x10
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x338]
call fcn.010328fa
jmp 0x10575f6
push esi
mov esi, dword [ebp - 0x360]
lea eax, [esi + 0xb4]
push 0x1005414
push eax
call fcn.01032a3e
add esp, 0xc
mov eax, dword [ebp - 0x340]
movzx eax, word [eax + 0xe]
push eax
push 0x100548c
add esi, 0xb8
push esi
call fcn.01032a3e
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bda4
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x105763b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x105764f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x1057663
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1057677
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x105768b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x358]
cmp eax, ebx
je 0x105769f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x350]
cmp dword [ebp - 0x33c], ebx
je 0x10576be
push dword [ebp - 0x33c]
lea ecx, [esi + 0x80]
call fcn.01032a95
fld qword [0x10054b0]
fld qword [ebp - 0x38c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057706
fld qword [ebp - 0x38c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa4fa
mov byte [ebp - 4], 0x23
push eax
lea ecx, [esi + 0x74]
call fcn.01044b40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fa
fld qword [0x10054b0]
fld qword [ebp - 0x394]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x105774e
fld qword [ebp - 0x394]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa4fa
mov byte [ebp - 4], 0x24
push eax
lea ecx, [esi + 0x78]
call fcn.01044b40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fa
fld qword [0x10054b0]
fld qword [ebp - 0x39c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057796
fld qword [ebp - 0x39c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa4fa
mov byte [ebp - 4], 0x25
push eax
lea ecx, [esi + 0x7c]
call fcn.01044b40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fa
cmp dword [ebp - 0x380], ebx
je 0x10577b8
push dword [ebp - 0x380]
lea eax, [esi + 0x94]
push 0x1005388
push eax
call fcn.01032a3e
add esp, 0xc
cmp dword [ebp - 0x384], ebx
je 0x10577da
push dword [ebp - 0x384]
lea eax, [esi + 0x98]
push 0x1005388
push eax
call fcn.01032a3e
add esp, 0xc
cmp dword [ebp - 0x33c], 0x4cf
jne 0x105784b
cmp byte [ebp - 0x331], bl
je 0x105784b
lea ecx, [ebp - 0x48]
call fcn.011becb0
mov byte [ebp - 4], 0x26
push dword [esi + 0x84]
lea ecx, [ebp - 0x48]
call fcn.011bf175
test eax, eax
jl 0x105783f
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x350], ebx
call fcn.011bee05
test eax, eax
jl 0x105783f
push dword [ebp - 0x350]
add esi, 0xbc
push 0x100548c
push esi
call fcn.01032a3e
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x48]
call fcn.011bf0d3
mov eax, dword [ebp - 0x33c]
sub eax, 0x4cb
je 0x10578c8
dec eax
dec eax
je 0x10578ba
dec eax
je 0x10578ad
dec eax
je 0x105787e
mov eax, dword [ebp - 0x378]
mov byte [edi], bl
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], bl
jmp 0x10578e5
fld qword [ebp - 0x38c]
fcomp qword [0x1003fb0]
fnstsw ax
test ah, 0x41
jne 0x1057896
xor eax, eax
inc eax
jmp 0x1057898
xor eax, eax
mov byte [edi], al
mov eax, dword [ebp - 0x378]
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], 1
jmp 0x1057874
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], bl
jmp 0x10578d4
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
jmp 0x105786c
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], 1
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x10578f8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x364]
pop edi
pop esi
cmp eax, ebx
pop ebx
je 0x105790f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0115fe73
leave
ret 0x10