Function at 0x2e02cf1d
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 0x2e02cf46
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x2e02cf56
mov ecx, 0x800
cmp si, cx
jne 0x2e02cf56
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push esi
call fcn.2e029a97
mov ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x2e02daf0
cmp ebp, 0x2e049008
je 0x2e02daf0
push ebx
push esi
call fcn.2e029b10
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 0x2e02dab8
cmp dword [ebx + 0x1c], edi
jne 0x2e02dab8
cmp ecx, 0xffffffff
jg 0x2e02dab8
cmp edx, 0xffffffff
jg 0x2e02dac2
cmp eax, 1
ja 0x2e02dab8
test esi, 0xfff00000
jne 0x2e02daa4
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
cmp ebp, edi
je 0x2e02daa4
cmp ecx, edi
je 0x2e02daa4
movzx edx, word [ebp]
cmp dx, word [ecx]
jne 0x2e02d0c5
movzx edx, dx
mov edi, edi
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e02d0bd
cmp dx, di
je 0x2e02d0bd
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
je 0x2e02d00d
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
mov dx, word [ebp]
cmp dx, word [ecx]
je 0x2e02da55
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 0x2e02d9fd
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx]
xor edi, edi
cmp bx, di
je 0x2e02d9f7
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.2e02b16e
push esi
push edi
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.2e02b16e
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 0x2e02d990
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 0x2e02d1aa
cmp dl, 3
jne 0x2e02d8b9
xor eax, eax
mov dword [esp + 0x4c], eax
test dl, dl
jne 0x2e02d1c4
add ebp, 2
mov eax, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], eax
test bl, bl
jne 0x2e02d1d2
add dword [esp + 0x14], 2
jmp 0x2e02d9d0
test eax, eax
jne 0x2e02d9d0
movzx eax, dl
dec eax
cmp eax, 5
ja case.0x2e02d1e7.4
jmp dword [eax*4 + 0x2e02db30]
cmp dword [esp + 0x44], 0
je 0x2e02d1fc
test byte [esp + 0x30], 2
je 0x2e02d209
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 0x2e02d4d7
cmp dword [esp + 0x54], 0
je 0x2e02d23a
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e02d4d7
cmp bl, 6
je case.0x2e02d1e7.4
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x2e02d26b
add ebp, 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e02d4d7
add ebp, 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e02d4d7
movzx eax, byte [esp + 0x28]
mov ecx, dword [0x2e049408]
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 0x2e02d4d7
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 0x2e02d403
lea ecx, [ebp - 2]
cmp ecx, dword [esp + 0x94]
jb 0x2e02d434
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.2e029eb9
cmp word [esp + 0x12], 0x12
jne 0x2e02d348
push edi
lea eax, [esp + 0x80]
push eax
call fcn.2e02a331
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 0x2e02d36e
mov eax, 0xffff0000
cmp cl, 2
je 0x2e02d434
jmp 0x2e02d381
jne 0x2e02d3f8
mov al, byte [esp + 0x20]
cmp al, 1
ja 0x2e02d39d
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 0x2e02d31c
jmp 0x2e02d434
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 0x2e02d3e5
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 0x2e02d43b
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 0xff87
mov byte [esp + 0x25], 5
jmp 0x2e02d429
movzx ecx, word [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x2e02d434
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 0x2e02d456
cmp eax, 0xffff0000
jne 0x2e02d456
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x24], eax
jmp 0x2e02d473
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 0x2e02d4ca
cmp byte [esp + 0x18], 0
jne 0x2e02d48d
cmp byte [esp + 0x24], 0
je 0x2e02d48d
mov byte [esp + 0x18], 3
cmp byte [esp + 0x19], 0
jne 0x2e02d4a2
mov edx, eax
shr edx, 8
test dl, dl
je 0x2e02d4a2
mov byte [esp + 0x19], 3
cmp byte [esp + 0x1a], 0
jne 0x2e02d4b7
mov ecx, eax
shr ecx, 0x10
test cl, cl
je 0x2e02d4b7
mov byte [esp + 0x1a], 3
cmp byte [esp + 0x1b], 0
jne 0x2e02d4ca
shr eax, 0x18
test al, al
je 0x2e02d4ca
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.0x2e02d4e4.4
jmp dword [eax*4 + 0x2e02db48]
cmp dword [esp + 0x44], 0
je 0x2e02d4f9
test byte [esp + 0x30], 2
je 0x2e02d502
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], ecx
add dword [esp + 0x14], 2
jmp 0x2e02d9d0
cmp dword [esp + 0x54], 0
jne 0x2e02d5a6
cmp dl, 6
je 0x2e02d543
cmp dword [esp + 0x34], 0
je 0x2e02d535
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ecx
jmp 0x2e02d9d0
add dword [esp + 0x14], 2
mov dword [esp + 0x40], ecx
jmp 0x2e02d9d0
cmp dword [esp + 0x34], 0
je 0x2e02d563
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e02d9d0
cmp dword [esp + 0x40], 0
je 0x2e02d587
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e02d9d0
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 0x2e02d9d0
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x2e049408]
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 0x2e02d9d0
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 0x2e02d775
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffe
cmp ecx, dword [esp + 0x9c]
jb 0x2e02d69a
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.2e029eb9
cmp word [esp + 0x12], 0x12
jne 0x2e02d677
push edi
lea eax, [esp + 0x88]
push eax
call fcn.2e02a331
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 0x2e02d6cd
mov eax, 0xffff0000
cmp cl, 2
jne 0x2e02d6e0
mov cl, byte [esp + 0x20]
cmp byte [esp + 0x2c], 1
ja 0x2e02d7ab
cmp eax, 0xffff0000
jne 0x2e02d7ab
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x20], eax
mov cl, al
jmp 0x2e02d7c8
jne 0x2e02d767
mov al, byte [esp + 0x48]
cmp al, 1
ja 0x2e02d6fb
mov eax, 0xffff0000
mov edx, dword [esp + 0x14]
add ebp, 2
sub edx, ebp
sub esi, 2
cmp edx, dword [esp + 0x9c]
jae 0x2e02d64b
jmp 0x2e02d69a
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 0x2e02d746
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 0x2e02d6a9
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 0x2e02d69e
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x3c], ecx
jmp 0x2e02d69a
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 0x2e02d69e
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 0x2e02d824
cmp byte [esp + 0x18], 0
jne 0x2e02d7df
test cl, cl
je 0x2e02d7df
mov byte [esp + 0x18], 1
cmp byte [esp + 0x19], 0
jne 0x2e02d7f4
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x2e02d7f4
mov byte [esp + 0x19], 1
cmp byte [esp + 0x1a], 0
jne 0x2e02d807
shr eax, 0x10
test al, al
je 0x2e02d807
mov byte [esp + 0x1a], 1
cmp byte [esp + 0x1b], 0
jne case.0x2e02d4e4.4
mov edx, dword [esp + 0x20]
shr edx, 0x18
test dl, dl
je case.0x2e02d4e4.4
mov byte [esp + 0x1b], 1
jmp case.0x2e02d4e4.4
cmp byte [esp + 0x18], 0
jne 0x2e02d83e
mov dl, byte [esp + 0x24]
cmp dl, cl
je 0x2e02d83e
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x18], cl
cmp byte [esp + 0x19], 0
jne 0x2e02d85d
mov dl, byte [esp + 0x25]
mov ecx, eax
shr ecx, 8
cmp dl, cl
je 0x2e02d85d
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x19], cl
cmp byte [esp + 0x1a], 0
jne 0x2e02d87a
mov cl, byte [esp + 0x26]
shr eax, 0x10
cmp cl, al
je 0x2e02d87a
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1b], 0
jne case.0x2e02d4e4.4
mov eax, dword [esp + 0x20]
shr eax, 0x18
cmp byte [esp + 0x27], al
je case.0x2e02d4e4.4
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1b], al
cmp dword [esp + 0x4c], 0
jne 0x2e02d9cc
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cx, ax
jne 0x2e02d9e5
mov ebp, dword [esp + 0x1c]
test byte [esp + 0x30], 3
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
je 0x2e02d966
mov al, byte [esp + 0x2a]
mov bl, byte [esp + 0x2e]
mov byte [esp + 0x11], al
cmp al, bl
je 0x2e02d966
movzx eax, word [ebp + 2]
test ax, ax
je 0x2e02d917
mov edi, edi
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e02b16e
cmp byte [esp + 0x5d], 1
jne 0x2e02d917
mov al, byte [esp + 0x5e]
add byte [esp + 0x11], al
movzx eax, word [ebp + 4]
add ebp, 2
test ax, ax
jne 0x2e02d8eb
movzx eax, word [esi + 2]
test ax, ax
je 0x2e02d94c
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e02b16e
cmp byte [esp + 0x5d], 1
jne 0x2e02d948
movzx eax, word [esi + 4]
add bl, byte [esp + 0x5e]
add esi, 2
test ax, ax
jne 0x2e02d920
mov dword [esp + 0x14], esi
movzx eax, byte [esp + 0x11]
cmp al, bl
je 0x2e02d966
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 0x2e02d990
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x2b]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x2e02d990
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 0x2e02d9a7
sub dword [esp + 0x64], 1
jne 0x2e02d9a7
mov ebp, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x70]
cmp eax, ecx
je 0x2e02d9be
sub dword [esp + 0x6c], 1
jne 0x2e02d9be
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x1c], ebp
jmp 0x2e02d9d0
mov ebp, dword [esp + 0x1c]
movzx eax, word [ebp]
test ax, ax
jne 0x2e02d120
mov ecx, dword [esp + 0x14]
xor edi, edi
jmp 0x2e02d9fd
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 0x2e02da66
cmp word [ecx], di
jne 0x2e02da64
mov eax, dword [esp + 0x44]
cmp eax, edi
jne 0x2e02d9ed
mov eax, dword [esp + 0x74]
cmp eax, edi
jne 0x2e02d9ed
cmp dword [esp + 0x18], edi
je 0x2e02da45
mov al, byte [esp + 0x18]
test al, al
jne 0x2e02da38
mov al, byte [esp + 0x19]
test al, al
jne 0x2e02da38
mov al, byte [esp + 0x1a]
test al, al
jne 0x2e02da38
mov al, byte [esp + 0x1b]
test al, al
je 0x2e02da45
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 0x2e02d9ed
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x2e02d9ed
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.2e02a284
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 0x2e02dac2
mov edx, 0xfffffffe
cmp ecx, 0xffffffff
jg 0x2e02dacc
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.2e02b55c
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