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

Disassembly:
mov eax, 0x127227a
call fcn.01160118
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.01055c3b
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x364], ebx
je 0x1056d02
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 0x1056904
push dword [ebp - 0x330]
lea ecx, [esi + 0x70]
call fcn.01044f8b
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 0x105695b
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x105695b
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x105695b
push dword [ebp - 0x340]
lea ecx, [esi + 0x84]
call fcn.01044f8b
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 0x1056995
mov byte [ebp - 0x331], bl
mov eax, dword [esi + 0x84]
cmp dword [eax - 8], ebx
je 0x1056ccb
cmp byte [ebp - 0x331], bl
je 0x1056ccb
push eax
call fcn.01055a71
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.01032a27
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.01056388
mov byte [ebp - 4], 6
push 0x10054b8
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045c7c
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x368]
call fcn.01044bd5
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x344]
call fcn.0103290a
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x35c]
call fcn.0103290a
cmp dword [ebp - 0x33c], ebx
je 0x1056aa5
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 0x1056a91
mov dword [ebp - 0x32c], eax
cmp esi, ebx
ja 0x1056e5d
cmp edi, 0x400
jb 0x1056ef3
cmp esi, ebx
ja 0x1056e5d
jb 0x1056acf
cmp edi, 0x100000
jae 0x1056e04
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.01160410
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.01032a27
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.01032a27
add esp, 0x20
push 0x1005244
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.01045c7c
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x35c]
push ecx
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045c11
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x32c]
call fcn.01044bd5
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x344]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.0103290a
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 0x1056c89
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.01032987
cmp eax, ebx
je 0x1056c7a
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.01032a7e
push dword [ebp - 0x338]
mov eax, dword [ebp - 0x360]
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a27
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x338]
call fcn.010329f4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x344]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.0103290a
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x35c]
call fcn.0103290a
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x32c]
call fcn.0103290a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x368]
call fcn.0103290a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34c]
call fcn.0103290a
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1056cdf
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.01055be9
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x1056fe0
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 0x1056dd7
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 0x1056dd7
cmp dword [ebp - 0x330], 1
je 0x1056dd7
mov byte [esi + 0xc1], bl
push dword [esi + 0x68]
lea ecx, [ebp - 0x34c]
call fcn.01055c64
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x34c], ebx
je 0x1056f3d
mov dword [ebp - 0x33c], 0x4cf
jmp 0x1056fbd
cmp esi, ebx
ja 0x1056e5d
jb 0x1056e12
cmp edi, 0x40000000
jae 0x1056e5d
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.01160410
mov esi, edx
mov edi, eax
shrd edi, esi, 0x14
shr esi, 0x14
jmp 0x1056b15
cmp esi, 0x100
ja 0x1056eb6
jb 0x1056e6b
cmp edi, ebx
jae 0x1056eb6
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.01160410
mov esi, edx
mov edi, eax
shrd edi, esi, 0x1e
shr esi, 0x1e
jmp 0x1056b15
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.01160410
mov edi, edx
shr edi, 8
xor esi, esi
jmp 0x1056b15
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 8
push 0x4c4
lea ecx, [ebp - 0x344]
call fcn.01032a7e
mov eax, dword [ebp - 0x360]
push esi
push edi
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a27
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x344]
jmp 0x1056ca2
push dword [esi + 0x68]
lea ecx, [ebp - 0x330]
call fcn.01055c8d
mov byte [ebp - 4], 0x12
push dword [esi + 0x68]
lea ecx, [ebp - 0x354]
call fcn.01055cb6
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x354], ebx
je 0x1056f83
xor eax, eax
cmp dword [ebp - 0x330], ebx
sete al
lea eax, [eax + eax + 0x4cb]
mov dword [ebp - 0x33c], eax
jmp 0x1056f95
cmp dword [ebp - 0x330], ebx
je 0x1056f95
mov dword [ebp - 0x33c], 0x4ce
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1056fa9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1056fbd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1056fd1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x340]
jmp 0x1057131
push dword [esi + 0x68]
lea ecx, [ebp - 0x32c]
call fcn.0103d5ec
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x1057127
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.0103d63e
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x34c], ebx
je 0x105705e
mov dword [ebp - 0x33c], 0x4cb
jmp 0x1057113
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x354]
call fcn.0103d667
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x354], ebx
je 0x1057087
mov dword [ebp - 0x33c], 0x4cd
jmp 0x10570ff
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x340]
call fcn.0103d5c3
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x340], ebx
je 0x10570b0
mov dword [ebp - 0x33c], 0x4ce
jmp 0x10570eb
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x330]
call fcn.0103d59a
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x330], ebx
je 0x10570d7
mov dword [ebp - 0x33c], 0x4cf
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x10570eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x10570ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1057113
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1057127
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x105713b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x364], ebx
je 0x10576f5
cmp byte [ebp - 0x331], bl
je 0x10576f5
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 0x10576db
cmp dword [ebp - 0x358], ebx
je 0x10576db
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01055cdf
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x364]
lea ecx, [ebp - 0x34c]
call fcn.0103d5ec
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057291
cmp dword [ebp - 0x37c], ebx
jne 0x10571df
cmp dword [ebp - 0x34c], ebx
jne 0x10571df
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 0x1057291
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 0x1057226
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1057226
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x9c]
push edi
push eax
call fcn.01032a27
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 0x1057266
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x1057266
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0xac]
push edi
push eax
call fcn.01032a27
add esp, 0xc
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x340]
add eax, ecx
cmp eax, ebx
je 0x1057291
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x88]
push edi
push eax
call fcn.01032a27
add esp, 0xc
push dword [ebp - 0x358]
lea ecx, [ebp - 0x35c]
call fcn.01055d08
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.01055d31
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x105740b
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 0x105740b
fld qword [0x1003fb0]
fld qword [ebp - 0x36c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x105740b
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 0x10573f1
push 0x100548c
lea ecx, [ebp - 0x338]
call fcn.01039819
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 0x10573a0
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.010524eb
push 0x1005478
lea ecx, [ebp - 0x338]
call fcn.010524eb
push dword [ebp - 0x340]
lea eax, [esi + 0xa0]
push dword [ebp - 0x330]
push dword [ebp - 0x338]
push eax
call fcn.01032a27
add esp, 0x10
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x338]
call fcn.0103290a
jmp 0x105740b
push dword [ebp - 0x330]
lea eax, [esi + 0xa0]
push 0x1005464
push eax
call fcn.01032a27
add esp, 0xc
cmp dword [ebp - 0x354], ebx
je 0x105768b
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.0116b761
push dword [esi + 0x84]
lea ecx, [ebp - 0x330]
call fcn.01257a53
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 0x105750e
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x368]
jge 0x1057677
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.0126bfab
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 0x105751f
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bf9d
inc dword [ebp - 0x338]
mov esi, dword [ebp - 0x360]
cmp dword [ebp - 0x368], ebx
jg 0x1057495
jmp 0x1057677
push 4
pop ecx
mov edi, 0x100787c
lea esi, [ebp - 0x38]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1057665
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov esi, eax
mov dword [ebp - 0x340], esi
je 0x1057665
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x360]
add eax, 0xb0
push 0x100548c
push eax
call fcn.01032a27
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 0x105762b
push 0x1005444
lea ecx, [ebp - 0x338]
call fcn.01039819
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 0x10575d9
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.010524eb
push 0x100542c
lea ecx, [ebp - 0x338]
call fcn.010524eb
push dword [ebp - 0x330]
push esi
mov esi, dword [ebp - 0x360]
push dword [ebp - 0x338]
lea eax, [esi + 0xb4]
push eax
call fcn.01032a27
add esp, 0x10
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x338]
call fcn.0103290a
jmp 0x1057646
push esi
mov esi, dword [ebp - 0x360]
lea eax, [esi + 0xb4]
push 0x1005414
push eax
call fcn.01032a27
add esp, 0xc
mov eax, dword [ebp - 0x340]
movzx eax, word [eax + 0xe]
push eax
push 0x100548c
add esi, 0xb8
push esi
call fcn.01032a27
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bf9d
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x105768b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x105769f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x10576b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x10576c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x10576db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x358]
cmp eax, ebx
je 0x10576ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x350]
cmp dword [ebp - 0x33c], ebx
je 0x105770e
push dword [ebp - 0x33c]
lea ecx, [esi + 0x80]
call fcn.01032a7e
fld qword [0x10054b0]
fld qword [ebp - 0x38c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057756
fld qword [ebp - 0x38c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa7ae
mov byte [ebp - 4], 0x23
push eax
lea ecx, [esi + 0x74]
call fcn.01044bd5
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0103290a
fld qword [0x10054b0]
fld qword [ebp - 0x394]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x105779e
fld qword [ebp - 0x394]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa7ae
mov byte [ebp - 4], 0x24
push eax
lea ecx, [esi + 0x78]
call fcn.01044bd5
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0103290a
fld qword [0x10054b0]
fld qword [ebp - 0x39c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10577e6
fld qword [ebp - 0x39c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aa7ae
mov byte [ebp - 4], 0x25
push eax
lea ecx, [esi + 0x7c]
call fcn.01044bd5
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0103290a
cmp dword [ebp - 0x380], ebx
je 0x1057808
push dword [ebp - 0x380]
lea eax, [esi + 0x94]
push 0x1005388
push eax
call fcn.01032a27
add esp, 0xc
cmp dword [ebp - 0x384], ebx
je 0x105782a
push dword [ebp - 0x384]
lea eax, [esi + 0x98]
push 0x1005388
push eax
call fcn.01032a27
add esp, 0xc
cmp dword [ebp - 0x33c], 0x4cf
jne 0x105789b
cmp byte [ebp - 0x331], bl
je 0x105789b
lea ecx, [ebp - 0x48]
call fcn.011becbf
mov byte [ebp - 4], 0x26
push dword [esi + 0x84]
lea ecx, [ebp - 0x48]
call fcn.011bf184
test eax, eax
jl 0x105788f
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x350], ebx
call fcn.011bee14
test eax, eax
jl 0x105788f
push dword [ebp - 0x350]
add esi, 0xbc
push 0x100548c
push esi
call fcn.01032a27
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x48]
call fcn.011bf0e2
mov eax, dword [ebp - 0x33c]
sub eax, 0x4cb
je 0x1057918
dec eax
dec eax
je 0x105790a
dec eax
je 0x10578fd
dec eax
je 0x10578ce
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 0x1057935
fld qword [ebp - 0x38c]
fcomp qword [0x1003fb0]
fnstsw ax
test ah, 0x41
jne 0x10578e6
xor eax, eax
inc eax
jmp 0x10578e8
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 0x10578c4
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], bl
jmp 0x1057924
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
jmp 0x10578bc
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 0x1057948
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 0x105795f
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.0115fe1a
leave
ret 0x10