Function at 0x10034593
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 0x100345bc
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x100345cc
mov ecx, 0x800
cmp si, cx
jne 0x100345cc
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push esi
call fcn.10040b79
mov ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, edi
je 0x10035166
cmp ebp, section..data
je 0x10035166
push ebx
push esi
call fcn.10040bf2
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 0x1003512e
cmp dword [ebx + 0x1c], edi
jne 0x1003512e
cmp ecx, 0xffffffff
jg 0x1003512e
cmp edx, 0xffffffff
jg 0x10035138
cmp eax, 1
ja 0x1003512e
test esi, 0xfff00000
jne 0x1003511a
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
cmp ebp, edi
je 0x1003511a
cmp ecx, edi
je 0x1003511a
movzx edx, word [ebp]
cmp dx, word [ecx]
jne 0x1003473b
movzx edx, dx
mov edi, edi
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
jne 0x10034733
cmp dx, di
je 0x10034733
movzx edx, word [ebp + 2]
add ebp, 2
add ecx, 2
cmp dx, word [ecx]
je 0x10034683
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ecx
mov dx, word [ebp]
cmp dx, word [ecx]
je 0x100350cb
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 0x10035073
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx]
xor edi, edi
cmp bx, di
je 0x1003506d
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.100321b3
push esi
push edi
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.100321b3
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 0x10035006
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 0x10034820
cmp dl, 3
jne 0x10034f2f
xor eax, eax
mov dword [esp + 0x4c], eax
test dl, dl
jne 0x1003483a
add ebp, 2
mov eax, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], eax
test bl, bl
jne 0x10034848
add dword [esp + 0x14], 2
jmp 0x10035046
test eax, eax
jne 0x10035046
movzx eax, dl
dec eax
cmp eax, 5
ja case.0x1003485d.4
jmp dword [eax*4 + 0x100351a0]
cmp dword [esp + 0x44], 0
je 0x10034872
test byte [esp + 0x30], 2
je 0x1003487f
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 0x10034b4d
cmp dword [esp + 0x54], 0
je 0x100348b0
add ebp, 2
mov ecx, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x10034b4d
cmp bl, 6
je case.0x1003485d.4
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x100348e1
add ebp, 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x10034b4d
add ebp, 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x4c], ecx
jmp 0x10034b4d
movzx eax, byte [esp + 0x28]
mov ecx, dword [0x10053400]
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 0x10034b4d
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 0x10034a79
lea ecx, [ebp - 2]
cmp ecx, dword [esp + 0x94]
jb 0x10034aaa
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.10030b13
cmp word [esp + 0x12], 0x12
jne 0x100349be
push edi
lea eax, [esp + 0x80]
push eax
call fcn.10030f8d
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 0x100349e4
mov eax, 0xffff0000
cmp cl, 2
je 0x10034aaa
jmp 0x100349f7
jne 0x10034a6e
mov al, byte [esp + 0x20]
cmp al, 1
ja 0x10034a13
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 0x10034992
jmp 0x10034aaa
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 0x10034a5b
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 0x10034ab1
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 0xff87
mov byte [esp + 0x25], 5
jmp 0x10034a9f
movzx ecx, word [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x10034aaa
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 0x10034acc
cmp eax, 0xffff0000
jne 0x10034acc
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x24], eax
jmp 0x10034ae9
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 0x10034b40
cmp byte [esp + 0x18], 0
jne 0x10034b03
cmp byte [esp + 0x24], 0
je 0x10034b03
mov byte [esp + 0x18], 3
cmp byte [esp + 0x19], 0
jne 0x10034b18
mov edx, eax
shr edx, 8
test dl, dl
je 0x10034b18
mov byte [esp + 0x19], 3
cmp byte [esp + 0x1a], 0
jne 0x10034b2d
mov ecx, eax
shr ecx, 0x10
test cl, cl
je 0x10034b2d
mov byte [esp + 0x1a], 3
cmp byte [esp + 0x1b], 0
jne 0x10034b40
shr eax, 0x18
test al, al
je 0x10034b40
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.0x10034b5a.4
jmp dword [eax*4 + 0x100351b8]
cmp dword [esp + 0x44], 0
je 0x10034b6f
test byte [esp + 0x30], 2
je 0x10034b78
and dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], ecx
add dword [esp + 0x14], 2
jmp 0x10035046
cmp dword [esp + 0x54], 0
jne 0x10034c1c
cmp dl, 6
je 0x10034bb9
cmp dword [esp + 0x34], 0
je 0x10034bab
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ecx
jmp 0x10035046
add dword [esp + 0x14], 2
mov dword [esp + 0x40], ecx
jmp 0x10035046
cmp dword [esp + 0x34], 0
je 0x10034bd9
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x10035046
cmp dword [esp + 0x40], 0
je 0x10034bfd
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x40], 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ecx
jmp 0x10035046
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 0x10035046
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [0x10053400]
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 0x10035046
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 0x10034deb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffe
cmp ecx, dword [esp + 0x9c]
jb 0x10034d10
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.10030b13
cmp word [esp + 0x12], 0x12
jne 0x10034ced
push edi
lea eax, [esp + 0x88]
push eax
call fcn.10030f8d
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 0x10034d43
mov eax, 0xffff0000
cmp cl, 2
jne 0x10034d56
mov cl, byte [esp + 0x20]
cmp byte [esp + 0x2c], 1
ja 0x10034e21
cmp eax, 0xffff0000
jne 0x10034e21
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], 0xffff
mov dword [esp + 0x20], eax
mov cl, al
jmp 0x10034e3e
jne 0x10034ddd
mov al, byte [esp + 0x48]
cmp al, 1
ja 0x10034d71
mov eax, 0xffff0000
mov edx, dword [esp + 0x14]
add ebp, 2
sub edx, ebp
sub esi, 2
cmp edx, dword [esp + 0x9c]
jae 0x10034cc1
jmp 0x10034d10
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 0x10034dbc
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 0x10034d1f
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 0x10034d14
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x3c], ecx
jmp 0x10034d10
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 0x10034d14
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 0x10034e9a
cmp byte [esp + 0x18], 0
jne 0x10034e55
test cl, cl
je 0x10034e55
mov byte [esp + 0x18], 1
cmp byte [esp + 0x19], 0
jne 0x10034e6a
mov ecx, eax
shr ecx, 8
test cl, cl
je 0x10034e6a
mov byte [esp + 0x19], 1
cmp byte [esp + 0x1a], 0
jne 0x10034e7d
shr eax, 0x10
test al, al
je 0x10034e7d
mov byte [esp + 0x1a], 1
cmp byte [esp + 0x1b], 0
jne case.0x10034b5a.4
mov edx, dword [esp + 0x20]
shr edx, 0x18
test dl, dl
je case.0x10034b5a.4
mov byte [esp + 0x1b], 1
jmp case.0x10034b5a.4
cmp byte [esp + 0x18], 0
jne 0x10034eb4
mov dl, byte [esp + 0x24]
cmp dl, cl
je 0x10034eb4
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x18], cl
cmp byte [esp + 0x19], 0
jne 0x10034ed3
mov dl, byte [esp + 0x25]
mov ecx, eax
shr ecx, 8
cmp dl, cl
je 0x10034ed3
setae cl
lea ecx, [ecx + ecx + 1]
mov byte [esp + 0x19], cl
cmp byte [esp + 0x1a], 0
jne 0x10034ef0
mov cl, byte [esp + 0x26]
shr eax, 0x10
cmp cl, al
je 0x10034ef0
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1b], 0
jne case.0x10034b5a.4
mov eax, dword [esp + 0x20]
shr eax, 0x18
cmp byte [esp + 0x27], al
je case.0x10034b5a.4
setae al
lea eax, [eax + eax + 1]
mov byte [esp + 0x1b], al
cmp dword [esp + 0x4c], 0
jne 0x10035042
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cx, ax
jne 0x1003505b
mov ebp, dword [esp + 0x1c]
test byte [esp + 0x30], 3
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
je 0x10034fdc
mov al, byte [esp + 0x2a]
mov bl, byte [esp + 0x2e]
mov byte [esp + 0x11], al
cmp al, bl
je 0x10034fdc
movzx eax, word [ebp + 2]
test ax, ax
je 0x10034f8d
mov edi, edi
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.100321b3
cmp byte [esp + 0x5d], 1
jne 0x10034f8d
mov al, byte [esp + 0x5e]
add byte [esp + 0x11], al
movzx eax, word [ebp + 4]
add ebp, 2
test ax, ax
jne 0x10034f61
movzx eax, word [esi + 2]
test ax, ax
je 0x10034fc2
mov ecx, dword [esp + 0x50]
push edi
push ecx
lea edx, [esp + 0x64]
push edx
push eax
call fcn.100321b3
cmp byte [esp + 0x5d], 1
jne 0x10034fbe
movzx eax, word [esi + 4]
add bl, byte [esp + 0x5e]
add esi, 2
test ax, ax
jne 0x10034f96
mov dword [esp + 0x14], esi
movzx eax, byte [esp + 0x11]
cmp al, bl
je 0x10034fdc
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 0x10035006
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x2b]
and al, 0x3f
and cl, 0x3f
cmp cl, al
je 0x10035006
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 0x1003501d
sub dword [esp + 0x64], 1
jne 0x1003501d
mov ebp, eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x70]
cmp eax, ecx
je 0x10035034
sub dword [esp + 0x6c], 1
jne 0x10035034
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
add ebp, 2
add dword [esp + 0x14], 2
mov dword [esp + 0x1c], ebp
jmp 0x10035046
mov ebp, dword [esp + 0x1c]
movzx eax, word [ebp]
test ax, ax
jne 0x10034796
mov ecx, dword [esp + 0x14]
xor edi, edi
jmp 0x10035073
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 0x100350dc
cmp word [ecx], di
jne 0x100350da
mov eax, dword [esp + 0x44]
cmp eax, edi
jne 0x10035063
mov eax, dword [esp + 0x74]
cmp eax, edi
jne 0x10035063
cmp dword [esp + 0x18], edi
je 0x100350bb
mov al, byte [esp + 0x18]
test al, al
jne 0x100350ae
mov al, byte [esp + 0x19]
test al, al
jne 0x100350ae
mov al, byte [esp + 0x1a]
test al, al
jne 0x100350ae
mov al, byte [esp + 0x1b]
test al, al
je 0x100350bb
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 0x10035063
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x10035063
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.10030ee0
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 0x10035138
mov edx, 0xfffffffe
cmp ecx, 0xffffffff
jg 0x10035142
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.10032740
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