Function at 0x2e04dd75
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 0x2e04dd9e
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x2e04ddae
mov ecx, 0x800
cmp si, cx
jne 0x2e04ddae
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push esi
call fcn.2e04a43a
mov ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x2e04e948
cmp ebp, section..data
je 0x2e04e948
push ebx
push esi
call fcn.2e04a4b3
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 0x2e04e910
cmp dword [ebx + 0x1c], edi
jne 0x2e04e910
cmp ecx, 0xffffffff
jg 0x2e04e910
cmp edx, 0xffffffff
jg 0x2e04e91a
cmp eax, 1
ja 0x2e04e910
test esi, 0xfff00000
jne 0x2e04e8fc
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
cmp ebp, edi
je 0x2e04e8fc
cmp ecx, edi
je 0x2e04e8fc
movzx edx, word [ebp]
cmp dx, word [ecx]
jne 0x2e04df1d
movzx edx, dx
mov edi, edi
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x2e04df15
cmp dx, di
je 0x2e04df15
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
je 0x2e04de65
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
mov dx, word [ebp]
cmp dx, word [ecx]
je 0x2e04e8ad
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 0x2e04e855
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx]
xor edi, edi
cmp bx, di
je 0x2e04e84f
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.2e04bfca
push esi
push edi
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.2e04bfca
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 0x2e04e7e8
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 0x2e04e002
cmp dl, 3
jne 0x2e04e711
xor eax, eax
mov dword [esp + 0x4c], eax
test dl, dl
jne 0x2e04e01c
add ebp, 2
mov eax, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], eax
test bl, bl
jne 0x2e04e02a
add dword [esp + 0x14], 2
jmp 0x2e04e828
test eax, eax
jne 0x2e04e828
movzx eax, dl
dec eax
cmp eax, 5
ja case.0x2e04e03f.4
jmp dword [eax*4 + 0x2e04e980]
cmp dword [esp + 0x44], 0
je 0x2e04e054
test byte [esp + 0x30], 2
je 0x2e04e061
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 0x2e04e32f
cmp dword [esp + 0x54], 0
je 0x2e04e092
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e04e32f
cmp bl, 6
je case.0x2e04e03f.4
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x2e04e0c3
add ebp, 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e04e32f
add ebp, 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x2e04e32f
movzx eax, byte [esp + 0x28]
mov ecx, dword [0x2e080400]
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 0x2e04e32f
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 0x2e04e25b
lea ecx, [ebp - 2]
cmp ecx, dword [esp + 0x94]
jb 0x2e04e28c
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.2e04ad14
cmp word [esp + 0x12], 0x12
jne 0x2e04e1a0
push edi
lea eax, [esp + 0x80]
push eax
call fcn.2e04b18d
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 0x2e04e1c6
mov eax, 0xffff0000
cmp cl, 2
je 0x2e04e28c
jmp 0x2e04e1d9
jne 0x2e04e250
mov al, byte [esp + 0x20]
cmp al, 1
ja 0x2e04e1f5
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 0x2e04e174
jmp 0x2e04e28c
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 0x2e04e23d
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 0x2e04e293
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 0xff87
mov byte [esp + 0x25], 5
jmp 0x2e04e281
movzx ecx, word [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x2e04e28c
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 0x2e04e2ae
cmp eax, 0xffff0000
jne 0x2e04e2ae
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x24], eax
jmp 0x2e04e2cb
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 0x2e04e322
cmp byte [esp + 0x18], 0
jne 0x2e04e2e5
cmp byte [esp + 0x24], 0
je 0x2e04e2e5
mov byte [esp + 0x18], 3
cmp byte [esp + 0x19], 0
jne 0x2e04e2fa
mov edx, eax
shr edx, 8
test dl, dl
je 0x2e04e2fa
mov byte [esp + 0x19], 3
cmp byte [esp + 0x1a], 0
jne 0x2e04e30f
mov ecx, eax
shr ecx, 0x10
test cl, cl
je 0x2e04e30f
mov byte [esp + 0x1a], 3
cmp byte [esp + 0x1b], 0
jne 0x2e04e322
shr eax, 0x18
test al, al
je 0x2e04e322
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.0x2e04e33c.4
jmp dword [eax*4 + 0x2e04e998]
cmp dword [esp + 0x44], 0
je 0x2e04e351
test byte [esp + 0x30], 2
je 0x2e04e35a
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], ecx
add dword [esp + 0x14], 2
jmp 0x2e04e828
cmp dword [esp + 0x54], 0
jne 0x2e04e3fe
cmp dl, 6
je 0x2e04e39b
cmp dword [esp + 0x34], 0
je 0x2e04e38d
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ecx
jmp 0x2e04e828
add dword [esp + 0x14], 2
mov dword [esp + 0x40], ecx
jmp 0x2e04e828
cmp dword [esp + 0x34], 0
je 0x2e04e3bb
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e04e828
cmp dword [esp + 0x40], 0
je 0x2e04e3df
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x2e04e828
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 0x2e04e828
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x2e080400]
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 0x2e04e828
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 0x2e04e5cd
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffe
cmp ecx, dword [esp + 0x9c]
jb 0x2e04e4f2
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.2e04ad14
cmp word [esp + 0x12], 0x12
jne 0x2e04e4cf
push edi
lea eax, [esp + 0x88]
push eax
call fcn.2e04b18d
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 0x2e04e525
mov eax, 0xffff0000
cmp cl, 2
jne 0x2e04e538
mov cl, byte [esp + 0x20]
cmp byte [esp + 0x2c], 1
ja 0x2e04e603
cmp eax, 0xffff0000
jne 0x2e04e603
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x20], eax
mov cl, al
jmp 0x2e04e620
jne 0x2e04e5bf
mov al, byte [esp + 0x48]
cmp al, 1
ja 0x2e04e553
mov eax, 0xffff0000
mov edx, dword [esp + 0x14]
add ebp, 2
sub edx, ebp
sub esi, 2
cmp edx, dword [esp + 0x9c]
jae 0x2e04e4a3
jmp 0x2e04e4f2
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 0x2e04e59e
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 0x2e04e501
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 0x2e04e4f6
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x3c], ecx
jmp 0x2e04e4f2
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 0x2e04e4f6
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 0x2e04e67c
cmp byte [esp + 0x18], 0
jne 0x2e04e637
test cl, cl
je 0x2e04e637
mov byte [esp + 0x18], 1
cmp byte [esp + 0x19], 0
jne 0x2e04e64c
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x2e04e64c
mov byte [esp + 0x19], 1
cmp byte [esp + 0x1a], 0
jne 0x2e04e65f
shr eax, 0x10
test al, al
je 0x2e04e65f
mov byte [esp + 0x1a], 1
cmp byte [esp + 0x1b], 0
jne case.0x2e04e33c.4
mov edx, dword [esp + 0x20]
shr edx, 0x18
test dl, dl
je case.0x2e04e33c.4
mov byte [esp + 0x1b], 1
jmp case.0x2e04e33c.4
cmp byte [esp + 0x18], 0
jne 0x2e04e696
mov dl, byte [esp + 0x24]
cmp dl, cl
je 0x2e04e696
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x18], cl
cmp byte [esp + 0x19], 0
jne 0x2e04e6b5
mov dl, byte [esp + 0x25]
mov ecx, eax
shr ecx, 8
cmp dl, cl
je 0x2e04e6b5
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x19], cl
cmp byte [esp + 0x1a], 0
jne 0x2e04e6d2
mov cl, byte [esp + 0x26]
shr eax, 0x10
cmp cl, al
je 0x2e04e6d2
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1b], 0
jne case.0x2e04e33c.4
mov eax, dword [esp + 0x20]
shr eax, 0x18
cmp byte [esp + 0x27], al
je case.0x2e04e33c.4
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1b], al
cmp dword [esp + 0x4c], 0
jne 0x2e04e824
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cx, ax
jne 0x2e04e83d
mov ebp, dword [esp + 0x1c]
test byte [esp + 0x30], 3
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
je 0x2e04e7be
mov al, byte [esp + 0x2a]
mov bl, byte [esp + 0x2e]
mov byte [esp + 0x11], al
cmp al, bl
je 0x2e04e7be
movzx eax, word [ebp + 2]
test ax, ax
je 0x2e04e76f
mov edi, edi
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e04bfca
cmp byte [esp + 0x5d], 1
jne 0x2e04e76f
mov al, byte [esp + 0x5e]
add byte [esp + 0x11], al
movzx eax, word [ebp + 4]
add ebp, 2
test ax, ax
jne 0x2e04e743
movzx eax, word [esi + 2]
test ax, ax
je 0x2e04e7a4
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.2e04bfca
cmp byte [esp + 0x5d], 1
jne 0x2e04e7a0
movzx eax, word [esi + 4]
add bl, byte [esp + 0x5e]
add esi, 2
test ax, ax
jne 0x2e04e778
mov dword [esp + 0x14], esi
movzx eax, byte [esp + 0x11]
cmp al, bl
je 0x2e04e7be
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 0x2e04e7e8
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x2b]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x2e04e7e8
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 0x2e04e7ff
sub dword [esp + 0x64], 1
jne 0x2e04e7ff
mov ebp, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x70]
cmp eax, ecx
je 0x2e04e816
sub dword [esp + 0x6c], 1
jne 0x2e04e816
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x1c], ebp
jmp 0x2e04e828
mov ebp, dword [esp + 0x1c]
movzx eax, word [ebp]
test ax, ax
jne 0x2e04df78
mov ecx, dword [esp + 0x14]
xor edi, edi
jmp 0x2e04e855
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 0x2e04e8be
cmp word [ecx], di
jne 0x2e04e8bc
mov eax, dword [esp + 0x44]
cmp eax, edi
jne 0x2e04e845
mov eax, dword [esp + 0x74]
cmp eax, edi
jne 0x2e04e845
cmp dword [esp + 0x18], edi
je 0x2e04e89d
mov al, byte [esp + 0x18]
test al, al
jne 0x2e04e890
mov al, byte [esp + 0x19]
test al, al
jne 0x2e04e890
mov al, byte [esp + 0x1a]
test al, al
jne 0x2e04e890
mov al, byte [esp + 0x1b]
test al, al
je 0x2e04e89d
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 0x2e04e845
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x2e04e845
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.2e04b0e0
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 0x2e04e91a
mov edx, 0xfffffffe
cmp ecx, 0xffffffff
jg 0x2e04e924
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.2e04c3b8
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