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

Disassembly:
sub esp, 0x60
push ebx
push esi
mov esi, dword [esp + 0x6c]
push edi
xor edi, edi
cmp si, 0x400
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
jne 0x4941f8
call dword [sym.imp.kernel32.dll_GetUserDefaultLCID]
jmp 0x494205
cmp si, 0x800
jne 0x494205
call dword [sym.imp.kernel32.dll_GetSystemDefaultLCID]
mov ecx, esi
call fcn.004a1a12
mov ebx, eax
cmp ebx, edi
mov dword [esp + 0x3c], ebx
je 0x494e18
cmp ebx, section..data
je 0x494e18
push ebp
mov ecx, esi
call fcn.004a1a12
mov ebp, eax
push 0x4ac270
mov dword [esp + 0x4c], ebp
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
and edx, 0xbfffffff
cmp ebp, edi
je 0x494de8
cmp dword [ebp + 0x1c], edi
jne 0x494de8
cmp eax, 0xffffffff
jg 0x494de8
cmp ecx, 0xffffffff
jg 0x494df2
cmp edx, 1
ja 0x494de8
test esi, 0xfff00000
jne 0x494dc9
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
xor esi, esi
cmp edi, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x74], ebx
je 0x494dc9
cmp ebx, esi
je 0x494dc9
movzx eax, word [edi]
cmp ax, word [ebx]
jne 0x49437d
movzx eax, ax
mov edi, edi
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
jne 0x494375
cmp ax, si
je 0x494375
movzx eax, word [edi + 2]
add edi, 2
add ebx, 2
cmp ax, word [ebx]
je 0x4942c5
mov dword [esp + 0x10], edi
mov dword [esp + 0x74], ebx
mov ax, word [edi]
cmp ax, word [ebx]
jne 0x49439f
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
pop ebp
pop edi
pop esi
mov eax, 2
pop ebx
add esp, 0x60
ret 0x18
movzx ecx, word [edi]
neg edx
sbb edx, edx
and edx, 0xe8000000
xor eax, eax
add edx, 0xffffffff
cmp dword [ebp + 0x18], esi
mov dword [esp + 0x44], esi
setne al
mov dword [esp + 0x38], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], esi
add eax, 1
or eax, 4
cmp cx, si
mov dword [esp + 0x14], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], eax
je 0x494ca2
lea ecx, [ecx]
mov ebx, dword [esp + 0x74]
movzx esi, word [ebx]
test si, si
je 0x494c98
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
push ebx
push ebp
lea edx, [esp + 0x24]
call fcn.00491719
push ebx
push ebp
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.00491719
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x18]
and ebp, eax
and ebx, eax
cmp ebp, ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
je 0x494c22
mov ax, bp
movzx ecx, ax
mov dword [esp + 0x2c], ecx
mov cx, word [esp + 0x18]
mov edx, ebp
movzx esi, cx
shr edx, 8
shr ebx, 8
cmp ax, cx
mov byte [esp + 0x80], dl
mov byte [esp + 0x88], bl
mov dword [esp + 0x30], esi
jne 0x49447e
cmp dl, 3
jne 0x494b48
xor eax, eax
test dl, dl
mov dword [esp + 0x3c], eax
mov ecx, 2
mov esi, 1
jne 0x49449e
add edi, ecx
mov eax, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], eax
test bl, bl
jne 0x4944ab
add dword [esp + 0x74], ecx
jmp 0x494c66
test eax, eax
jne 0x494c66
movzx eax, dl
add eax, 0xffffffff
cmp eax, 5
ja case.0x4944c2.3
jmp dword [eax*4 + 0x494e48]
cmp dword [esp + 0x38], 0
je 0x4944d7
test byte [esp + 0x20], 2
je 0x4944e4
and dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x38], 3
add edi, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], esi
jmp case.0x4944c2.3
cmp dword [esp + 0x44], 0
je 0x494509
add edi, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], esi
jmp case.0x4944c2.3
cmp bl, 6
je case.0x4944c2.3
cmp dword [esp + 0x34], 0
je 0x494534
add edi, ecx
mov dword [esp + 0x34], 3
mov dword [esp + 0x44], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], esi
jmp case.0x4944c2.3
add edi, ecx
mov dword [esp + 0x28], 3
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], esi
jmp case.0x4944c2.3
movzx eax, byte [esp + 0x1c]
mov ebp, dword [0x4aa400]
mov ebp, dword [ebp + 0x28]
lea eax, [ebp + eax*4]
mov bp, word [eax]
mov ax, word [eax + 2]
mov dword [esp + 0x58], edi
lea edi, [esp + 0x68]
mov dword [esp + 0x10], edi
mov word [esp + 0x68], bp
mov word [esp + 0x6a], ax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x3c], esi
jmp case.0x4944c2.3
mov al, byte [esp + 0x1c]
mov ebx, ebp
shr ebx, 0x18
and bl, 0x3f
cmp al, 1
mov ecx, 0xffff0000
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], ecx
ja 0x494693
add edi, 0xfffffffe
cmp edi, dword [esp + 0x7c]
jb 0x4946be
mov esi, dword [esp + 0x10]
mov edi, 2
add esi, 0xfffffffe
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
push ecx
mov cx, word [esi]
push edx
lea edx, [esp + 0x2c]
call fcn.00491719
mov ecx, dword [esp + 0x24]
and ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 8
cmp al, 3
mov dword [esp + 0x24], ecx
jae 0x4945ff
cmp al, 2
mov ecx, 0xffff0000
je 0x4946be
jmp 0x494612
jne 0x494688
mov al, byte [esp + 0x24]
cmp al, 1
ja 0x49462d
mov ecx, 0xffff0000
mov eax, dword [esp + 0x10]
add edi, 2
sub eax, edi
sub esi, 2
cmp eax, dword [esp + 0x7c]
mov dword [esp + 0x24], ecx
jae 0x4945c5
jmp 0x4946be
movzx si, al
mov al, byte [esp + 0x27]
and al, 0x3f
mov cl, al
and cl, 0xc6
mov byte [esp + 0x14], cl
mov cl, al
or si, 0x2200
and cl, 0xe4
cmp byte [esp + 0x1c], 0
mov word [esp + 0x24], si
mov byte [esp + 0x16], cl
jne 0x494672
movzx ecx, si
and al, 0xc5
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x15], 4
mov byte [esp + 0x17], al
jmp 0x4946c5
mov ecx, dword [esp + 0x24]
mov eax, ecx
and eax, 0xff87
mov dword [esp + 0x2c], eax
mov byte [esp + 0x15], 5
jmp 0x4946b7
movzx edx, word [esp + 0x24]
mov dword [esp + 0x2c], edx
jmp 0x4946be
movzx ax, al
or ax, 0x2200
movzx edx, ax
mov al, bl
and al, 0xc6
mov byte [esp + 0x14], al
mov al, bl
and al, 0xe4
mov dword [esp + 0x2c], edx
mov byte [esp + 0x15], 3
mov byte [esp + 0x16], al
and bl, 0xc5
mov byte [esp + 0x17], bl
cmp byte [esp + 0x1c], 1
ja 0x4946e1
cmp ecx, 0xffff0000
jne 0x4946e1
xor eax, eax
mov dword [esp + 0x2c], 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
jmp 0x4946fb
movzx eax, word [esp + 0x2c]
and ebp, 0xffff0000
or ebp, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x1f], 2
cmp byte [esp + 0x88], 3
je 0x494755
cmp byte [esp + 0x78], 0
jne 0x494718
cmp byte [esp + 0x14], 0
je 0x494718
mov byte [esp + 0x78], 3
cmp byte [esp + 0x79], 0
jne 0x49472d
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x49472d
mov byte [esp + 0x79], 3
cmp byte [esp + 0x7a], 0
jne 0x494742
mov edx, eax
shr edx, 0x10
test dl, dl
je 0x494742
mov byte [esp + 0x7a], 3
cmp byte [esp + 0x7b], 0
jne 0x494755
shr eax, 0x18
test al, al
je 0x494755
mov byte [esp + 0x7b], 3
mov edi, dword [esp + 0x10]
mov dl, byte [esp + 0x80]
mov bl, byte [esp + 0x88]
mov ecx, 2
mov esi, 1
movzx eax, bl
add eax, 0xffffffff
cmp eax, 5
ja case.0x494780.3
jmp dword [eax*4 + 0x494e60]
cmp dword [esp + 0x38], 0
je 0x494795
test byte [esp + 0x20], 2
je 0x49479e
and dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x38], esi
add dword [esp + 0x74], ecx
jmp 0x494c66
cmp dword [esp + 0x44], 0
jne 0x49483b
cmp dl, 6
je 0x4947dc
cmp dword [esp + 0x28], 0
je 0x4947cf
add dword [esp + 0x74], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x44], esi
jmp 0x494c66
add dword [esp + 0x74], ecx
mov dword [esp + 0x34], esi
jmp 0x494c66
cmp dword [esp + 0x28], 0
je 0x4947fa
add edi, ecx
add dword [esp + 0x74], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], esi
jmp 0x494c66
cmp dword [esp + 0x34], 0
je 0x49481c
add edi, ecx
add dword [esp + 0x74], ecx
mov dword [esp + 0x34], 3
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], esi
jmp 0x494c66
movzx eax, byte [esp + 0x1c]
cmp al, byte [esp + 0x18]
mov dword [esp + 0x44], esi
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
add edi, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], edi
add dword [esp + 0x74], ecx
jmp 0x494c66
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x6c]
mov dword [esp + 0x74], eax
mov eax, dword [0x4aa400]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x60], edx
movzx edx, byte [esp + 0x18]
lea eax, [eax + edx*4]
mov dx, word [eax]
mov ax, word [eax + 2]
mov word [esp + 0x6c], dx
mov word [esp + 0x6e], ax
mov dword [esp + 0x5c], ecx
jmp 0x494c66
mov bl, byte [esp + 0x1b]
mov al, byte [esp + 0x18]
and bl, 0x3f
cmp al, 1
mov ecx, 0xffff0000
mov dword [esp + 0x88], 0
mov dword [esp + 0x24], ecx
ja 0x4949f7
mov edx, dword [esp + 0x74]
add edx, 0xfffffffe
cmp edx, dword [esp + 0x84]
jb 0x4948f7
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x50]
mov edi, 2
add esi, 0xfffffffe
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov cx, word [esi]
lea edx, [esp + 0x2c]
call fcn.00491719
mov ecx, dword [esp + 0x24]
and ecx, ebp
mov eax, ecx
shr eax, 8
cmp al, 3
mov dword [esp + 0x24], ecx
jae 0x49493d
cmp al, 2
mov ecx, 0xffff0000
jne 0x494950
mov dl, byte [esp + 0x88]
cmp byte [esp + 0x18], 1
ja 0x494a34
cmp ecx, 0xffff0000
mov esi, dword [esp + 0x88]
jne 0x494a3b
xor esi, esi
mov dword [esp + 0x88], esi
mov dl, byte [esp + 0x88]
mov dword [esp + 0x30], 0xffff
mov dword [esp + 0x18], ecx
jmp 0x494a54
jne 0x4949e9
mov al, byte [esp + 0x24]
cmp al, 1
ja 0x49496f
mov ecx, 0xffff0000
mov edx, dword [esp + 0x74]
add edi, 2
sub edx, edi
sub esi, 2
cmp edx, dword [esp + 0x84]
mov dword [esp + 0x24], ecx
jae 0x4948c5
jmp 0x4948f7
movzx si, al
mov al, byte [esp + 0x27]
and al, 0x3f
mov dl, al
mov cl, al
or si, 0x2200
and dl, 0xc6
and cl, 0xe4
cmp byte [esp + 0x18], 0
mov word [esp + 0x24], si
mov byte [esp + 0x88], dl
mov byte [esp + 0x8a], cl
jne 0x4949c3
movzx ecx, si
and al, 0xc5
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x89], 4
mov byte [esp + 0x8b], al
jmp 0x494909
mov ecx, dword [esp + 0x24]
mov eax, ecx
and eax, 0xff87
and bl, 0xc5
mov dword [esp + 0x30], eax
mov byte [esp + 0x89], 5
mov byte [esp + 0x8b], bl
jmp 0x4948fe
movzx edx, word [esp + 0x24]
mov dword [esp + 0x30], edx
jmp 0x4948f7
movzx ax, al
or ax, 0x2200
movzx edx, ax
mov dword [esp + 0x30], edx
mov dl, bl
mov al, bl
and dl, 0xc6
and al, 0xe4
and bl, 0xc5
mov byte [esp + 0x88], dl
mov byte [esp + 0x89], 3
mov byte [esp + 0x8a], al
mov byte [esp + 0x8b], bl
jmp 0x4948fe
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x18]
movzx ecx, word [esp + 0x30]
and eax, 0xffff0000
or eax, ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x1b], 2
cmp byte [esp + 0x80], 3
je 0x494ab3
cmp byte [esp + 0x78], 0
jne 0x494a6e
test dl, dl
je 0x494a6e
mov byte [esp + 0x78], 1
cmp byte [esp + 0x79], 0
jne 0x494a83
mov edx, esi
shr edx, 8
test dl, dl
je 0x494a83
mov byte [esp + 0x79], 1
cmp byte [esp + 0x7a], 0
jne 0x494a98
mov eax, esi
shr eax, 0x10
test al, al
je 0x494a98
mov byte [esp + 0x7a], 1
cmp byte [esp + 0x7b], 0
jne case.0x494780.3
mov ecx, esi
shr ecx, 0x18
test cl, cl
je case.0x494780.3
mov byte [esp + 0x7b], 1
jmp case.0x494780.3
cmp byte [esp + 0x78], 0
jne 0x494acd
mov al, byte [esp + 0x14]
cmp al, dl
je 0x494acd
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x78], al
cmp byte [esp + 0x79], 0
jne 0x494aec
mov cl, byte [esp + 0x15]
mov eax, esi
shr eax, 8
cmp cl, al
je 0x494aec
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x79], al
cmp byte [esp + 0x7a], 0
jne 0x494b0b
mov cl, byte [esp + 0x16]
mov eax, esi
shr eax, 0x10
cmp cl, al
je 0x494b0b
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x7a], al
cmp byte [esp + 0x7b], 0
jne case.0x494780.3
mov eax, esi
shr eax, 0x18
cmp byte [esp + 0x17], al
je case.0x494780.3
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x7b], al
cmp dword [esp + 0x3c], 0
jne 0x494c62
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
cmp di, si
jne 0x494c78
mov edi, dword [esp + 0x10]
test byte [esp + 0x20], 3
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
je 0x494bf6
mov al, byte [esp + 0x1e]
mov bl, byte [esp + 0x1a]
cmp al, bl
mov byte [esp + 0x88], al
je 0x494bf6
movzx ecx, word [edi + 2]
test cx, cx
je 0x494ba8
mov edx, dword [esp + 0x40]
push ebp
push edx
lea edx, [esp + 0x54]
call fcn.00491719
cmp byte [esp + 0x4d], 1
jne 0x494ba8
movzx ecx, word [edi + 4]
mov al, byte [esp + 0x4e]
add byte [esp + 0x88], al
add edi, 2
test cx, cx
jne 0x494b7b
movzx ecx, word [esi + 2]
test cx, cx
je 0x494bd9
lea ecx, [ecx]
mov edx, dword [esp + 0x40]
push ebp
push edx
lea edx, [esp + 0x54]
call fcn.00491719
cmp byte [esp + 0x4d], 1
jne 0x494bd9
movzx ecx, word [esi + 4]
add bl, byte [esp + 0x4e]
add esi, 2
test cx, cx
jne 0x494bb3
movzx eax, byte [esp + 0x88]
cmp al, bl
je 0x494bf6
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
and dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x38], eax
test byte [esp + 0x20], 4
je 0x494c26
movzx eax, byte [esp + 0x1b]
mov cl, byte [esp + 0x1f]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x494c26
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
and dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x64], eax
jmp 0x494c26
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x58]
xor ecx, ecx
cmp eax, ecx
je 0x494c3d
sub dword [esp + 0x54], 1
jne 0x494c3d
mov edi, eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x60]
cmp eax, ecx
je 0x494c52
sub dword [esp + 0x5c], 1
jne 0x494c52
mov esi, eax
mov dword [esp + 0x60], ecx
add edi, 2
add esi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x74], esi
jmp 0x494c66
mov edi, dword [esp + 0x10]
movzx ecx, word [edi]
test cx, cx
jne 0x4943f4
mov ebx, dword [esp + 0x74]
jmp 0x494ca2
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
cmp di, si
pop ebp
sbb eax, eax
pop edi
and eax, 0xfffffffe
pop esi
add eax, 3
pop ebx
add esp, 0x60
ret 0x18
cmp word [edi], 0
jne 0x494d7f
cmp word [ebx], 0
jne 0x494d7d
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x494db2
mov esi, dword [esp + 0x64]
test esi, esi
jne 0x494db2
cmp dword [esp + 0x78], esi
je 0x494d52
cmp byte [esp + 0x78], 0
je 0x494cef
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
movzx eax, byte [esp + 0x78]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x18
cmp byte [esp + 0x79], 0
je 0x494d10
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
movzx eax, byte [esp + 0x79]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x18
cmp byte [esp + 0x7a], 0
je 0x494d31
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
movzx eax, byte [esp + 0x7a]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x18
cmp byte [esp + 0x7b], 0
je 0x494d52
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
movzx eax, byte [esp + 0x7b]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x18
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x494db2
mov esi, dword [esp + 0x34]
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test esi, esi
je 0x494390
pop ebp
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x60
ret 0x18
mov edi, ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
xor edx, edx
cmp word [ebx], dx
mov ecx, edi
sete dl
lea edx, [edx + edx + 1]
call fcn.0048f450
mov esi, eax
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
pop ebp
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x60
ret 0x18
push 0x57
call dword [sym.imp.kernel32.dll_SetLastError]
push 0x4ac270
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x60
ret 0x18
cmp ecx, 0xffffffff
jg 0x494df2
mov ecx, 0xfffffffe
cmp eax, 0xffffffff
jg 0x494dfc
mov eax, 0xfffffffe
push ebx
push ecx
mov ecx, dword [esp + 0x8c]
push ecx
push eax
mov eax, dword [esp + 0x8c]
push eax
mov ecx, ebp
call fcn.00492784
jmp 0x494db0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x7c]
push eax
push ecx
push edx
push esi
call dword [sym.imp.kernel32.dll_CompareStringW]
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x18