Function at 0x437760
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
sub esp, 0x94
mov al, byte [esp + 0x6c]
mov byte [esp + 0x74], al
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff48
xor eax, 0xffffffff
and eax, 0xb7
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x8c], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff49
xor eax, 0xffffffff
and eax, 0xb6
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x8d], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff4a
xor eax, 0xffffffff
and eax, 0xb5
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x8e], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x40
mov ecx, eax
and ecx, 0xffffff4b
xor eax, 0xffffffff
and eax, 0xb4
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x8f], cl
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 5
jne 0x437838
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 5
jae 0x43788b
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x8c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bea0
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x8c], al
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
jmp 0x437850
mov al, byte [esp + 0x60]
mov byte [esp + 0x70], al
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff48
xor eax, 0xffffffff
and eax, 0xb7
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x64], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff49
xor eax, 0xffffffff
and eax, 0xb6
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x65], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0xffffff4a
xor eax, 0xffffffff
and eax, 0xb5
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x66], cl
mov dword [esp], 0x34a9e648
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x40
mov ecx, eax
and ecx, 0xffffff4b
xor eax, 0xffffffff
and eax, 0xb4
or ecx, eax
xor cl, 0xff
mov byte [esp + 0x67], cl
mov eax, 4
mov byte [esp + eax + 0x64], 0
add eax, 1
cmp eax, 5
jne 0x43794f
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 5
jae 0x437999
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x64]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bea0
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x64], al
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
jmp 0x437964
mov eax, dword [esp + 0x64]
xor ecx, ecx
cpuid
mov esi, ecx
mov al, byte [esp + 0x54]
mov byte [esp + 0x78], al
mov dword [esp], 0xaf0b50f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x56
xor eax, 0xf
mov byte [esp + 0x58], al
mov dword [esp], 0xaf0b50f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x4d
xor eax, 0x10
mov byte [esp + 0x59], al
mov dword [esp], 0xaf0b50f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x4b
xor eax, 0x11
mov byte [esp + 0x5a], al
mov dword [esp], 0xaf0b50f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x56
xor eax, 0x12
mov byte [esp + 0x5b], al
mov eax, 4
mov byte [esp + eax + 0x58], 0
add eax, 1
cmp eax, 5
jne 0x437a28
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 5
jae 0x437a72
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x58]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041c590
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x58], al
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x437a3d
mov eax, dword [esp + 0x58]
cmp esi, eax
je 0x437e37
mov al, byte [esp + 0x48]
mov byte [esp + 0x7c], al
mov dword [esp], 0xfb4079f8
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x43
xor eax, 0xf8
mov byte [esp + 0x4c], al
mov dword [esp], 0xfb4079f8
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x47
xor eax, 0xf9
mov byte [esp + 0x4d], al
mov dword [esp], 0xfb4079f8
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x54
xor eax, 0xfa
mov byte [esp + 0x4e], al
mov dword [esp], 0xfb4079f8
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x43
xor eax, 0xfb
mov byte [esp + 0x4f], al
mov eax, 4
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 6
jne 0x437b0b
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
jae 0x437b55
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bec0
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x4c], al
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
jmp 0x437b20
cmp esi, dword [esp + 0x4c]
sete al
test al, 1
jne 0x437e37
jmp 0x437b66
mov al, byte [esp + 0x3c]
mov byte [esp + 0x80], al
mov dword [esp], 0x33554220
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0x72
shl ecx, 1
xor eax, 0x72
add eax, ecx
xor eax, 0x20
mov byte [esp + 0x40], al
mov dword [esp], 0x33554220
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0x65
shl ecx, 1
xor eax, 0x65
add eax, ecx
xor eax, 0x21
mov byte [esp + 0x41], al
mov dword [esp], 0x33554220
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0x56
shl ecx, 1
xor eax, 0x56
add eax, ecx
xor eax, 0x22
mov byte [esp + 0x42], al
mov dword [esp], 0x33554220
mov dword [esp + 4], 5
call fcn.00419ec0
mov ecx, eax
and ecx, 0x4d
shl ecx, 1
xor eax, 0x4d
add eax, ecx
xor eax, 0x23
mov byte [esp + 0x43], al
mov eax, 4
mov byte [esp + eax + 0x40], 0
add eax, 1
cmp eax, 6
jne 0x437c12
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 6
jae 0x437c5c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x40]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041c5f0
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x40], al
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x437c27
cmp esi, dword [esp + 0x40]
je 0x437e37
mov al, byte [esp + 0x30]
mov byte [esp + 0x84], al
mov dword [esp], 0x64d6f99c
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x56
xor eax, 0xe9
xor al, 0x75
mov byte [esp + 0x34], al
mov dword [esp], 0x64d6f99c
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x42
xor eax, 0xe8
xor al, 0x75
mov byte [esp + 0x35], al
mov dword [esp], 0x64d6f99c
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x6f
xor eax, 0xeb
xor al, 0x75
mov byte [esp + 0x36], al
mov dword [esp], 0x64d6f99c
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x78
xor eax, 0xea
xor al, 0x75
mov byte [esp + 0x37], al
mov eax, 4
mov byte [esp + eax + 0x34], 0
add eax, 1
cmp eax, 7
jne 0x437cfe
jmp 0x437d0d
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 7
jae 0x437d4a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041c610
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x34], al
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x437d15
cmp esi, dword [esp + 0x34]
sete al
test al, 1
jne 0x437e37
jmp 0x437d5b
mov al, byte [esp + 0x24]
mov byte [esp + 0x88], al
mov dword [esp], 0x8ead8d1f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x4d
xor eax, 0x1f
mov byte [esp + 0x28], al
mov dword [esp], 0x8ead8d1f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x4d
xor eax, 0x20
mov byte [esp + 0x29], al
mov dword [esp], 0x8ead8d1f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x58
xor eax, 0x21
mov byte [esp + 0x2a], al
mov dword [esp], 0x8ead8d1f
mov dword [esp + 4], 5
call fcn.00419ec0
add eax, 0x65
xor eax, 0x22
mov byte [esp + 0x2b], al
mov eax, 4
mov byte [esp + eax + 0x28], 0
add eax, 1
cmp eax, 8
jne 0x437de3
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 8
jae 0x437e2d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bee0
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x28], al
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x437df8
mov eax, dword [esp + 0x28]
cmp esi, eax
je 0x437e37
jmp 0x437e3b
mov al, 1
jmp 0x437e3f
xor eax, eax
jmp 0x437e3f
and al, 1
movzx eax, al
add esp, 0x94
pop esi
pop ebx
ret