Function at 0x37f9c000
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x78
push ebp
push esi
mov esi, dword [esp + 0x84]
push edi
xor edi, edi
mov eax, 0x400
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], edi
cmp si, ax
jne 0x37f9c029
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x37f9c039
mov ecx, 0x800
cmp si, cx
jne 0x37f9c039
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push esi
call fcn.37f9fc13
mov ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x37f9cbd3
cmp ebp, section..data
je 0x37f9cbd3
push ebx
push esi
call fcn.37f9fc8c
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [esp + 0x90]
and eax, 0xbfffffff
mov dword [esp + 0x58], ebx
cmp ebx, edi
je 0x37f9cb9b
cmp dword [ebx + 0x1c], edi
jne 0x37f9cb9b
cmp ecx, 0xffffffff
jg 0x37f9cb9b
cmp edx, 0xffffffff
jg 0x37f9cba5
cmp eax, 1
ja 0x37f9cb9b
test esi, 0xfff00000
jne 0x37f9cb87
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
cmp ebp, edi
je 0x37f9cb87
cmp ecx, edi
je 0x37f9cb87
movzx edx, word [ebp]
cmp dx, word [ecx]
jne 0x37f9c1a8
movzx edx, dx
mov edi, edi
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x37f9c1a0
cmp dx, di
je 0x37f9c1a0
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
je 0x37f9c0f0
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
mov dx, word [ebp]
cmp dx, word [ecx]
je 0x37f9cb38
neg eax
sbb eax, eax
and eax, 0xe8000000
dec eax
mov dword [esp + 0x60], eax
xor eax, eax
cmp dword [ebx + 0x18], edi
mov dword [esp + 0x54], edi
setne al
mov dword [esp + 0x44], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], edi
inc eax
or eax, 4
mov dword [esp + 0x30], eax
movzx eax, dx
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], edi
cmp ax, di
je 0x37f9cae0
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx]
xor edi, edi
cmp bx, di
je 0x37f9cada
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.37f99b43
push esi
push edi
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.37f99b43
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x2c]
and ecx, edx
and eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
cmp ecx, eax
je 0x37f9ca73
shr eax, 8
mov bl, al
mov ax, cx
mov edx, ecx
movzx ecx, ax
mov dword [esp + 0x38], ecx
mov cx, word [esp + 0x2c]
movzx esi, cx
shr edx, 8
mov byte [esp + 0x11], dl
mov byte [esp + 0x10], bl
mov dword [esp + 0x3c], esi
cmp ax, cx
jne 0x37f9c28d
cmp dl, 3
jne 0x37f9c99c
xor eax, eax
mov dword [esp + 0x4c], eax
test dl, dl
jne 0x37f9c2a7
add ebp, 2
mov eax, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], eax
test bl, bl
jne 0x37f9c2b5
add dword [esp + 0x14], 2
jmp 0x37f9cab3
test eax, eax
jne 0x37f9cab3
movzx eax, dl
dec eax
cmp eax, 5
ja case.0x37f9c2ca.4
jmp dword [eax*4 + 0x37f9cc10]
cmp dword [esp + 0x44], 0
je 0x37f9c2df
test byte [esp + 0x30], 2
je 0x37f9c2ec
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], 3
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x37f9c5ba
cmp dword [esp + 0x54], 0
je 0x37f9c31d
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x37f9c5ba
cmp bl, 6
je case.0x37f9c2ca.4
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x37f9c34e
add ebp, 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x37f9c5ba
add ebp, 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x37f9c5ba
movzx eax, byte [esp + 0x28]
mov ecx, dword [0x37fb1400]
mov ecx, dword [ecx + 0x28]
lea eax, [ecx + eax*4]
mov cx, word [eax]
mov ax, word [eax + 2]
mov dword [esp + 0x68], ebp
mov word [esp + 0x78], cx
lea ebp, [esp + 0x78]
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov word [esp + 0x7a], ax
mov dword [esp + 0x64], 2
mov dword [esp + 0x4c], ecx
jmp 0x37f9c5ba
mov ebx, dword [esp + 0x28]
mov cl, byte [esp + 0x28]
shr ebx, 0x18
and bl, 0x3f
mov dword [esp + 0x24], 0
mov eax, 0xffff0000
cmp cl, 1
ja 0x37f9c4e6
lea ecx, [ebp - 2]
cmp ecx, dword [esp + 0x94]
jb 0x37f9c517
mov eax, dword [esp + 0x58]
mov ax, word [eax]
mov edx, 0x3ff
and ax, dx
mov word [esp + 0x12], ax
mov dword [esp + 0x48], 2
lea esi, [ebp - 2]
lea ecx, [ecx]
mov ecx, dword [esp + 0x50]
movzx edi, word [esi]
push ecx
lea edx, [esp + 0x80]
push edx
push edi
call fcn.37f9851d
cmp word [esp + 0x12], 0x12
jne 0x37f9c42b
push edi
lea eax, [esp + 0x80]
push eax
call fcn.37f98995
mov eax, dword [esp + 0x7c]
and eax, dword [esp + 0x60]
mov ecx, eax
shr ecx, 8
mov dword [esp + 0x20], eax
cmp cl, 3
jae 0x37f9c451
mov eax, 0xffff0000
cmp cl, 2
je 0x37f9c517
jmp 0x37f9c464
jne 0x37f9c4db
mov al, byte [esp + 0x20]
cmp al, 1
ja 0x37f9c480
mov eax, 0xffff0000
add dword [esp + 0x48], 2
mov edx, ebp
sub edx, dword [esp + 0x48]
sub esi, 2
cmp edx, dword [esp + 0x94]
jae 0x37f9c3ff
jmp 0x37f9c517
movzx si, al
mov eax, 0x2200
or si, ax
mov al, byte [esp + 0x23]
and al, 0x3f
mov cl, al
and cl, 0xc6
mov byte [esp + 0x24], cl
mov cl, al
and cl, 0xe4
cmp byte [esp + 0x28], 0
mov word [esp + 0x20], si
mov byte [esp + 0x26], cl
jne 0x37f9c4c8
movzx ecx, si
and al, 0xc5
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov byte [esp + 0x25], 4
jmp 0x37f9c51e
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 0xff87
mov byte [esp + 0x25], 5
jmp 0x37f9c50c
movzx ecx, word [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x37f9c517
movzx dx, cl
mov ecx, 0x2200
or dx, cx
mov cl, bl
and cl, 0xc6
mov byte [esp + 0x24], cl
mov cl, bl
and cl, 0xe4
movzx edx, dx
mov byte [esp + 0x25], 3
mov byte [esp + 0x26], cl
and bl, 0xc5
mov byte [esp + 0x27], bl
mov dword [esp + 0x38], edx
cmp byte [esp + 0x28], 1
ja 0x37f9c539
cmp eax, 0xffff0000
jne 0x37f9c539
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x24], eax
jmp 0x37f9c556
mov eax, dword [esp + 0x28]
movzx ecx, word [esp + 0x38]
and eax, 0xffff0000
or eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x2b], 2
cmp byte [esp + 0x10], 3
je 0x37f9c5ad
cmp byte [esp + 0x18], 0
jne 0x37f9c570
cmp byte [esp + 0x24], 0
je 0x37f9c570
mov byte [esp + 0x18], 3
cmp byte [esp + 0x19], 0
jne 0x37f9c585
mov edx, eax
shr edx, 8
test dl, dl
je 0x37f9c585
mov byte [esp + 0x19], 3
cmp byte [esp + 0x1a], 0
jne 0x37f9c59a
mov ecx, eax
shr ecx, 0x10
test cl, cl
je 0x37f9c59a
mov byte [esp + 0x1a], 3
cmp byte [esp + 0x1b], 0
jne 0x37f9c5ad
shr eax, 0x18
test al, al
je 0x37f9c5ad
mov byte [esp + 0x1b], 3
mov dl, byte [esp + 0x11]
mov bl, byte [esp + 0x10]
mov ecx, 1
movzx eax, bl
dec eax
cmp eax, 5
ja case.0x37f9c5c7.4
jmp dword [eax*4 + 0x37f9cc28]
cmp dword [esp + 0x44], 0
je 0x37f9c5dc
test byte [esp + 0x30], 2
je 0x37f9c5e5
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], ecx
add dword [esp + 0x14], 2
jmp 0x37f9cab3
cmp dword [esp + 0x54], 0
jne 0x37f9c689
cmp dl, 6
je 0x37f9c626
cmp dword [esp + 0x34], 0
je 0x37f9c618
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ecx
jmp 0x37f9cab3
add dword [esp + 0x14], 2
mov dword [esp + 0x40], ecx
jmp 0x37f9cab3
cmp dword [esp + 0x34], 0
je 0x37f9c646
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x37f9cab3
cmp dword [esp + 0x40], 0
je 0x37f9c66a
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x37f9cab3
mov dl, byte [esp + 0x28]
cmp dl, byte [esp + 0x2c]
mov dword [esp + 0x54], ecx
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
add ebp, 2
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ebp
add dword [esp + 0x14], 2
jmp 0x37f9cab3
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x37fb1400]
lea ecx, [esp + 0x80]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x28]
lea eax, [ecx + edx*4]
mov dx, word [eax]
mov ax, word [eax + 2]
mov word [esp + 0x80], dx
mov word [esp + 0x82], ax
mov dword [esp + 0x6c], 2
jmp 0x37f9cab3
mov bl, byte [esp + 0x2f]
mov cl, byte [esp + 0x2c]
and bl, 0x3f
mov dword [esp + 0x20], 0
mov eax, 0xffff0000
cmp cl, 1
ja 0x37f9c858
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffe
cmp ecx, dword [esp + 0x9c]
jb 0x37f9c77d
mov eax, dword [esp + 0x58]
mov ax, word [eax]
mov esi, dword [esp + 0x14]
mov edx, 0x3ff
and ax, dx
mov word [esp + 0x12], ax
mov ebp, 2
add esi, 0xfffffffe
lea esp, [esp]
mov ecx, dword [esp + 0x50]
movzx edi, word [esi]
push ecx
lea edx, [esp + 0x88]
push edx
push edi
call fcn.37f9851d
cmp word [esp + 0x12], 0x12
jne 0x37f9c75a
push edi
lea eax, [esp + 0x88]
push eax
call fcn.37f98995
mov eax, dword [esp + 0x84]
and eax, dword [esp + 0x60]
mov ecx, eax
shr ecx, 8
mov dword [esp + 0x48], eax
cmp cl, 3
jae 0x37f9c7b0
mov eax, 0xffff0000
cmp cl, 2
jne 0x37f9c7c3
mov cl, byte [esp + 0x20]
cmp byte [esp + 0x2c], 1
ja 0x37f9c88e
cmp eax, 0xffff0000
jne 0x37f9c88e
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x20], eax
mov cl, al
jmp 0x37f9c8ab
jne 0x37f9c84a
mov al, byte [esp + 0x48]
cmp al, 1
ja 0x37f9c7de
mov eax, 0xffff0000
mov edx, dword [esp + 0x14]
add ebp, 2
sub edx, ebp
sub esi, 2
cmp edx, dword [esp + 0x9c]
jae 0x37f9c72e
jmp 0x37f9c77d
movzx si, al
mov eax, 0x2200
or si, ax
mov al, byte [esp + 0x4b]
and al, 0x3f
mov cl, al
mov dl, al
and cl, 0xc6
and dl, 0xe4
cmp byte [esp + 0x2c], 0
mov word [esp + 0x48], si
mov byte [esp + 0x20], cl
mov byte [esp + 0x22], dl
jne 0x37f9c829
movzx edx, si
and al, 0xc5
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov byte [esp + 0x21], 4
jmp 0x37f9c78c
mov eax, dword [esp + 0x48]
mov edx, eax
and edx, 0xff87
and bl, 0xc5
mov dword [esp + 0x3c], edx
mov byte [esp + 0x21], 5
mov byte [esp + 0x23], bl
jmp 0x37f9c781
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x3c], ecx
jmp 0x37f9c77d
movzx dx, cl
mov ecx, 0x2200
or dx, cx
movzx edx, dx
mov dword [esp + 0x3c], edx
mov cl, bl
mov dl, bl
and cl, 0xc6
and dl, 0xe4
and bl, 0xc5
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], 3
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], bl
jmp 0x37f9c781
mov eax, dword [esp + 0x2c]
movzx edx, word [esp + 0x3c]
and eax, 0xffff0000
or eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov byte [esp + 0x2f], 2
cmp byte [esp + 0x11], 3
je 0x37f9c907
cmp byte [esp + 0x18], 0
jne 0x37f9c8c2
test cl, cl
je 0x37f9c8c2
mov byte [esp + 0x18], 1
cmp byte [esp + 0x19], 0
jne 0x37f9c8d7
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x37f9c8d7
mov byte [esp + 0x19], 1
cmp byte [esp + 0x1a], 0
jne 0x37f9c8ea
shr eax, 0x10
test al, al
je 0x37f9c8ea
mov byte [esp + 0x1a], 1
cmp byte [esp + 0x1b], 0
jne case.0x37f9c5c7.4
mov edx, dword [esp + 0x20]
shr edx, 0x18
test dl, dl
je case.0x37f9c5c7.4
mov byte [esp + 0x1b], 1
jmp case.0x37f9c5c7.4
cmp byte [esp + 0x18], 0
jne 0x37f9c921
mov dl, byte [esp + 0x24]
cmp dl, cl
je 0x37f9c921
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x18], cl
cmp byte [esp + 0x19], 0
jne 0x37f9c940
mov dl, byte [esp + 0x25]
mov ecx, eax
shr ecx, 8
cmp dl, cl
je 0x37f9c940
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x19], cl
cmp byte [esp + 0x1a], 0
jne 0x37f9c95d
mov cl, byte [esp + 0x26]
shr eax, 0x10
cmp cl, al
je 0x37f9c95d
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1b], 0
jne case.0x37f9c5c7.4
mov eax, dword [esp + 0x20]
shr eax, 0x18
cmp byte [esp + 0x27], al
je case.0x37f9c5c7.4
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1b], al
cmp dword [esp + 0x4c], 0
jne 0x37f9caaf
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cx, ax
jne 0x37f9cac8
mov ebp, dword [esp + 0x1c]
test byte [esp + 0x30], 3
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
je 0x37f9ca49
mov al, byte [esp + 0x2a]
mov bl, byte [esp + 0x2e]
mov byte [esp + 0x11], al
cmp al, bl
je 0x37f9ca49
movzx eax, word [ebp + 2]
test ax, ax
je 0x37f9c9fa
mov edi, edi
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.37f99b43
cmp byte [esp + 0x5d], 1
jne 0x37f9c9fa
mov al, byte [esp + 0x5e]
add byte [esp + 0x11], al
movzx eax, word [ebp + 4]
add ebp, 2
test ax, ax
jne 0x37f9c9ce
movzx eax, word [esi + 2]
test ax, ax
je 0x37f9ca2f
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.37f99b43
cmp byte [esp + 0x5d], 1
jne 0x37f9ca2b
movzx eax, word [esi + 4]
add bl, byte [esp + 0x5e]
add esi, 2
test ax, ax
jne 0x37f9ca03
mov dword [esp + 0x14], esi
movzx eax, byte [esp + 0x11]
cmp al, bl
je 0x37f9ca49
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], eax
test byte [esp + 0x30], 4
je 0x37f9ca73
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x2b]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x37f9ca73
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
and dword [esp + 0x30], 0xfffffffb
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x68]
xor ecx, ecx
cmp eax, ecx
je 0x37f9ca8a
sub dword [esp + 0x64], 1
jne 0x37f9ca8a
mov ebp, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x70]
cmp eax, ecx
je 0x37f9caa1
sub dword [esp + 0x6c], 1
jne 0x37f9caa1
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x1c], ebp
jmp 0x37f9cab3
mov ebp, dword [esp + 0x1c]
movzx eax, word [ebp]
test ax, ax
jne 0x37f9c203
mov ecx, dword [esp + 0x14]
xor edi, edi
jmp 0x37f9cae0
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x78
ret 0x18
cmp word [ebp], di
jne 0x37f9cb49
cmp word [ecx], di
jne 0x37f9cb47
mov eax, dword [esp + 0x44]
cmp eax, edi
jne 0x37f9cad0
mov eax, dword [esp + 0x74]
cmp eax, edi
jne 0x37f9cad0
cmp dword [esp + 0x18], edi
je 0x37f9cb28
mov al, byte [esp + 0x18]
test al, al
jne 0x37f9cb1b
mov al, byte [esp + 0x19]
test al, al
jne 0x37f9cb1b
mov al, byte [esp + 0x1a]
test al, al
jne 0x37f9cb1b
mov al, byte [esp + 0x1b]
test al, al
je 0x37f9cb28
pop ebx
pop edi
pop esi
movzx eax, al
pop ebp
add esp, 0x78
ret 0x18
mov eax, dword [esp + 0x34]
cmp eax, edi
jne 0x37f9cad0
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x37f9cad0
pop ebx
pop edi
pop esi
mov eax, 2
pop ebp
add esp, 0x78
ret 0x18
mov ebp, ecx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x54]
push eax
xor eax, eax
cmp word [ecx], di
push edx
sete al
lea eax, [eax + eax + 1]
push eax
push ebp
call fcn.37f988e8
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x78
ret 0x18
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x78
ret 0x18
cmp edx, 0xffffffff
jg 0x37f9cba5
mov edx, 0xfffffffe
cmp ecx, 0xffffffff
jg 0x37f9cbaf
mov ecx, 0xfffffffe
push ebp
push edx
mov edx, dword [esp + 0xa4]
push edx
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
push eax
push ebx
call fcn.37f9a0d0
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x78
ret 0x18
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x94]
push ecx
push edx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CompareStringW]
pop edi
pop esi
pop ebp
add esp, 0x78
ret 0x18