Function at 0x2e060978
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 0x2e0609a1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x2e0609b1
mov ecx, 0x800
cmp si, cx
jne 0x2e0609b1
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push esi
call fcn.2e063aad
mov ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x2e06154b
cmp ebp, 0x2e090010
je 0x2e06154b
push ebx
push esi
call fcn.2e063b26
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 0x2e061513
cmp dword [ebx + 0x1c], edi
jne 0x2e061513
cmp ecx, 0xffffffff
jg 0x2e061513
cmp edx, 0xffffffff
jg 0x2e06151d
cmp eax, 1
ja 0x2e061513
test esi, 0xfff00000
jne 0x2e0614ff
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
cmp ebp, edi
je 0x2e0614ff
cmp ecx, edi
je 0x2e0614ff
movzx edx, word [ebp]
cmp dx, word [ecx]
jne 0x2e060b20
movzx edx, dx
mov edi, edi
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e060b18
cmp dx, di
je 0x2e060b18
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
je 0x2e060a68
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
mov dx, word [ebp]
cmp dx, word [ecx]
je 0x2e0614b0
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 0x2e061458
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx]
xor edi, edi
cmp bx, di
je 0x2e061452
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.2e05e6de
push esi
push edi
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.2e05e6de
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 0x2e0613eb
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 0x2e060c05
cmp dl, 3
jne 0x2e061314
xor eax, eax
mov dword [esp + 0x4c], eax
test dl, dl
jne 0x2e060c1f
add ebp, 2
mov eax, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], eax
test bl, bl
jne 0x2e060c2d
add dword [esp + 0x14], 2
jmp 0x2e06142b
test eax, eax
jne 0x2e06142b
movzx eax, dl
dec eax
cmp eax, 5
ja case.0x2e060c42.4
jmp dword [eax*4 + 0x2e061590]
cmp dword [esp + 0x44], 0
je 0x2e060c57
test byte [esp + 0x30], 2
je 0x2e060c64
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 0x2e060f32
cmp dword [esp + 0x54], 0
je 0x2e060c95
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e060f32
cmp bl, 6
je case.0x2e060c42.4
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x2e060cc6
add ebp, 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e060f32
add ebp, 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e060f32
movzx eax, byte [esp + 0x28]
mov ecx, dword [0x2e090410]
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 0x2e060f32
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 0x2e060e5e
lea ecx, [ebp - 2]
cmp ecx, dword [esp + 0x94]
jb 0x2e060e8f
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.2e05d05a
cmp word [esp + 0x12], 0x12
jne 0x2e060da3
push edi
lea eax, [esp + 0x80]
push eax
call fcn.2e05d4d5
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 0x2e060dc9
mov eax, 0xffff0000
cmp cl, 2
je 0x2e060e8f
jmp 0x2e060ddc
jne 0x2e060e53
mov al, byte [esp + 0x20]
cmp al, 1
ja 0x2e060df8
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 0x2e060d77
jmp 0x2e060e8f
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 0x2e060e40
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 0x2e060e96
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 0xff87
mov byte [esp + 0x25], 5
jmp 0x2e060e84
movzx ecx, word [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x2e060e8f
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 0x2e060eb1
cmp eax, 0xffff0000
jne 0x2e060eb1
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x24], eax
jmp 0x2e060ece
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 0x2e060f25
cmp byte [esp + 0x18], 0
jne 0x2e060ee8
cmp byte [esp + 0x24], 0
je 0x2e060ee8
mov byte [esp + 0x18], 3
cmp byte [esp + 0x19], 0
jne 0x2e060efd
mov edx, eax
shr edx, 8
test dl, dl
je 0x2e060efd
mov byte [esp + 0x19], 3
cmp byte [esp + 0x1a], 0
jne 0x2e060f12
mov ecx, eax
shr ecx, 0x10
test cl, cl
je 0x2e060f12
mov byte [esp + 0x1a], 3
cmp byte [esp + 0x1b], 0
jne 0x2e060f25
shr eax, 0x18
test al, al
je 0x2e060f25
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.0x2e060f3f.4
jmp dword [eax*4 + 0x2e0615a8]
cmp dword [esp + 0x44], 0
je 0x2e060f54
test byte [esp + 0x30], 2
je 0x2e060f5d
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], ecx
add dword [esp + 0x14], 2
jmp 0x2e06142b
cmp dword [esp + 0x54], 0
jne 0x2e061001
cmp dl, 6
je 0x2e060f9e
cmp dword [esp + 0x34], 0
je 0x2e060f90
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ecx
jmp 0x2e06142b
add dword [esp + 0x14], 2
mov dword [esp + 0x40], ecx
jmp 0x2e06142b
cmp dword [esp + 0x34], 0
je 0x2e060fbe
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e06142b
cmp dword [esp + 0x40], 0
je 0x2e060fe2
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e06142b
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 0x2e06142b
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x2e090410]
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 0x2e06142b
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 0x2e0611d0
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffe
cmp ecx, dword [esp + 0x9c]
jb 0x2e0610f5
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.2e05d05a
cmp word [esp + 0x12], 0x12
jne 0x2e0610d2
push edi
lea eax, [esp + 0x88]
push eax
call fcn.2e05d4d5
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 0x2e061128
mov eax, 0xffff0000
cmp cl, 2
jne 0x2e06113b
mov cl, byte [esp + 0x20]
cmp byte [esp + 0x2c], 1
ja 0x2e061206
cmp eax, 0xffff0000
jne 0x2e061206
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x20], eax
mov cl, al
jmp 0x2e061223
jne 0x2e0611c2
mov al, byte [esp + 0x48]
cmp al, 1
ja 0x2e061156
mov eax, 0xffff0000
mov edx, dword [esp + 0x14]
add ebp, 2
sub edx, ebp
sub esi, 2
cmp edx, dword [esp + 0x9c]
jae 0x2e0610a6
jmp 0x2e0610f5
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 0x2e0611a1
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 0x2e061104
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 0x2e0610f9
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x3c], ecx
jmp 0x2e0610f5
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 0x2e0610f9
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 0x2e06127f
cmp byte [esp + 0x18], 0
jne 0x2e06123a
test cl, cl
je 0x2e06123a
mov byte [esp + 0x18], 1
cmp byte [esp + 0x19], 0
jne 0x2e06124f
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x2e06124f
mov byte [esp + 0x19], 1
cmp byte [esp + 0x1a], 0
jne 0x2e061262
shr eax, 0x10
test al, al
je 0x2e061262
mov byte [esp + 0x1a], 1
cmp byte [esp + 0x1b], 0
jne case.0x2e060f3f.4
mov edx, dword [esp + 0x20]
shr edx, 0x18
test dl, dl
je case.0x2e060f3f.4
mov byte [esp + 0x1b], 1
jmp case.0x2e060f3f.4
cmp byte [esp + 0x18], 0
jne 0x2e061299
mov dl, byte [esp + 0x24]
cmp dl, cl
je 0x2e061299
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x18], cl
cmp byte [esp + 0x19], 0
jne 0x2e0612b8
mov dl, byte [esp + 0x25]
mov ecx, eax
shr ecx, 8
cmp dl, cl
je 0x2e0612b8
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x19], cl
cmp byte [esp + 0x1a], 0
jne 0x2e0612d5
mov cl, byte [esp + 0x26]
shr eax, 0x10
cmp cl, al
je 0x2e0612d5
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1b], 0
jne case.0x2e060f3f.4
mov eax, dword [esp + 0x20]
shr eax, 0x18
cmp byte [esp + 0x27], al
je case.0x2e060f3f.4
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1b], al
cmp dword [esp + 0x4c], 0
jne 0x2e061427
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cx, ax
jne 0x2e061440
mov ebp, dword [esp + 0x1c]
test byte [esp + 0x30], 3
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
je 0x2e0613c1
mov al, byte [esp + 0x2a]
mov bl, byte [esp + 0x2e]
mov byte [esp + 0x11], al
cmp al, bl
je 0x2e0613c1
movzx eax, word [ebp + 2]
test ax, ax
je 0x2e061372
mov edi, edi
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e05e6de
cmp byte [esp + 0x5d], 1
jne 0x2e061372
mov al, byte [esp + 0x5e]
add byte [esp + 0x11], al
movzx eax, word [ebp + 4]
add ebp, 2
test ax, ax
jne 0x2e061346
movzx eax, word [esi + 2]
test ax, ax
je 0x2e0613a7
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e05e6de
cmp byte [esp + 0x5d], 1
jne 0x2e0613a3
movzx eax, word [esi + 4]
add bl, byte [esp + 0x5e]
add esi, 2
test ax, ax
jne 0x2e06137b
mov dword [esp + 0x14], esi
movzx eax, byte [esp + 0x11]
cmp al, bl
je 0x2e0613c1
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 0x2e0613eb
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x2b]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x2e0613eb
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 0x2e061402
sub dword [esp + 0x64], 1
jne 0x2e061402
mov ebp, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x70]
cmp eax, ecx
je 0x2e061419
sub dword [esp + 0x6c], 1
jne 0x2e061419
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x1c], ebp
jmp 0x2e06142b
mov ebp, dword [esp + 0x1c]
movzx eax, word [ebp]
test ax, ax
jne 0x2e060b7b
mov ecx, dword [esp + 0x14]
xor edi, edi
jmp 0x2e061458
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 0x2e0614c1
cmp word [ecx], di
jne 0x2e0614bf
mov eax, dword [esp + 0x44]
cmp eax, edi
jne 0x2e061448
mov eax, dword [esp + 0x74]
cmp eax, edi
jne 0x2e061448
cmp dword [esp + 0x18], edi
je 0x2e0614a0
mov al, byte [esp + 0x18]
test al, al
jne 0x2e061493
mov al, byte [esp + 0x19]
test al, al
jne 0x2e061493
mov al, byte [esp + 0x1a]
test al, al
jne 0x2e061493
mov al, byte [esp + 0x1b]
test al, al
je 0x2e0614a0
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 0x2e061448
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x2e061448
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.2e05d428
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 0x2e06151d
mov edx, 0xfffffffe
cmp ecx, 0xffffffff
jg 0x2e061527
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.2e05ecf4
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