Function at 0x43c190
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4659e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov al, byte [esp + 0x60]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov byte [esp + 0x20], al
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x68], ebx
call fcn.0043f6d0
mov edi, dword [esp + 0x70]
mov byte [esp + 0x68], 1
mov byte [esp + 0x30], 0x10
mov byte [esp + 0x31], 0x21
mov byte [esp + 0x32], 0x22
mov byte [esp + 0x33], 0x23
mov byte [esp + 0x34], 0x24
mov byte [esp + 0x35], 0x25
mov byte [esp + 0x36], 0x26
mov byte [esp + 0x37], 0x27
mov byte [esp + 0x38], 0x28
mov byte [esp + 0x39], 0x29
mov byte [esp + 0x3a], 0x2a
mov byte [esp + 0x3b], 0x2b
mov byte [esp + 0x3c], 0x2c
mov byte [esp + 0x3d], 0x2d
mov byte [esp + 0x3e], 0x2e
mov byte [esp + 0x3f], 0x2f
xor ebp, ebp
mov ecx, dword [edi + 4]
cmp ecx, ebx
jne 0x43c235
xor eax, eax
jmp 0x43c23d
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
movsx esi, bp
cmp esi, eax
jae 0x43c2a9
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push ebx
call fcn.0043f700
lea ecx, [esp + 0x14]
call fcn.0043f8b0
push 8
lea ecx, [esp + 0x14]
call fcn.0043fa50
push 0x482484
lea ecx, [esp + 0x14]
call fcn.0043f860
mov cl, byte [esp + esi + 0x30]
push ecx
lea ecx, [esp + 0x14]
call fcn.0043fa50
mov edx, dword [edi + 4]
lea ecx, [esp + 0x10]
lea eax, [edx + esi*4]
push eax
call fcn.0043f860
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x10]
push ecx
push 1
push edx
lea ecx, [esp + 0x2c]
call fcn.00413c80
inc ebp
jmp 0x43c22a
lea ecx, [esp + 0x50]
call fcn.004527a0
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call fcn.0043f6d0
lea ecx, [esp + 0x40]
mov byte [esp + 0x68], 3
call fcn.00446630
mov byte [esp + 0x68], 4
xor edi, edi
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
jne 0x43c2e1
xor eax, eax
jmp 0x43c2ea
mov eax, dword [esp + 0x28]
sub eax, ecx
sar eax, 2
movsx esi, di
cmp esi, eax
jae 0x43c34f
push esi
lea ecx, [esp + 0x24]
call fcn.00413100
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
call fcn.0043f6e0
lea ecx, [esp + 0x1c]
call fcn.0043f8b0
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
jne 0x43c31d
xor eax, eax
jmp 0x43c326
mov eax, dword [esp + 0x28]
sub eax, ecx
sar eax, 2
dec eax
lea ecx, [esp + 0x50]
sub esi, eax
lea eax, [esp + 0x18]
neg esi
sbb esi, esi
push eax
and esi, 0xffffff02
add esi, 0xff
mov word [esp + 0x20], si
call fcn.00445dc0
inc edi
jmp 0x43c2d5
lea ecx, [esp + 0x40]
call fcn.00446ad0
sub esp, 0x10
lea edx, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x80], esp
push ebx
push edx
push ecx
mov ecx, 0x482498
call fcn.00444a80
lea ecx, [esp + 0x50]
call fcn.004466e0
lea ecx, [esp + 0x40]
call fcn.00446ab0
movsx eax, ax
cmp eax, 2
jge 0x43c3f1
lea ecx, [esp + 0x40]
mov byte [esp + 0x68], 3
call fcn.00446670
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call fcn.0043f810
lea ecx, [esp + 0x50]
mov byte [esp + 0x68], 1
call fcn.00445c00
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 0
call fcn.0043f810
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
cmp esi, eax
mov dword [esp + 0x68], 0xffffffff
mov edi, eax
je 0x43c46c
mov ecx, esi
call fcn.0043f810
add esi, 4
cmp esi, edi
jne 0x43c3e1
jmp 0x43c468
lea edi, [eax - 1]
lea ecx, [esp + 0x40]
push edi
call fcn.004469f0
mov ecx, dword [eax + 4]
call fcn.0043fa70
cmp ax, 2
jge 0x43c47e
lea ecx, [esp + 0x40]
mov byte [esp + 0x68], 3
call fcn.00446670
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call fcn.0043f810
lea ecx, [esp + 0x50]
mov byte [esp + 0x68], 1
call fcn.00445c00
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 0
call fcn.0043f810
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
cmp esi, eax
mov dword [esp + 0x68], 0xffffffff
mov edi, eax
je 0x43c46c
mov ecx, esi
call fcn.0043f810
add esi, 4
cmp esi, edi
jne 0x43c45a
mov esi, dword [esp + 0x24]
push esi
call fcn.00458510
add esp, 4
or ax, 0xffff
jmp 0x43c5a8
lea ecx, [esp + 0x14]
call fcn.0043f6d0
mov ebp, dword [esp + 0x74]
mov byte [esp + 0x68], 5
push edi
lea ecx, [esp + 0x44]
call fcn.004469f0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x43c4a5
xor eax, eax
jmp 0x43c4ad
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
movsx ecx, bx
cmp ecx, eax
jae 0x43c52d
push ecx
push edi
lea ecx, [esp + 0x48]
call fcn.004469f0
mov ecx, eax
call fcn.00413100
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
call fcn.0043f6e0
lea ecx, [esp + 0x18]
call fcn.0043f8b0
lea ecx, [esp + 0x14]
call fcn.0043fa70
cmp ax, 4
jle 0x43c527
push 3
lea ecx, [esp + 0x18]
xor esi, esi
call fcn.0043f9e0
test al, al
jb 0x43c527
lea eax, [esi + 3]
lea ecx, [esp + 0x14]
push eax
call fcn.0043f9e0
push eax
mov ecx, ebp
call fcn.0043fa50
push 3
lea ecx, [esp + 0x18]
inc esi
call fcn.0043f9e0
xor cx, cx
mov cl, al
cmp si, cx
jle 0x43c4fc
inc ebx
jmp 0x43c490
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 4
call fcn.0043f810
lea ecx, [esp + 0x40]
mov byte [esp + 0x68], 3
call fcn.00446670
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call fcn.0043f810
lea ecx, [esp + 0x50]
mov byte [esp + 0x68], 1
call fcn.00445c00
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 0
call fcn.0043f810
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
cmp esi, eax
mov dword [esp + 0x68], 0xffffffff
mov edi, eax
je 0x43c59b
mov ecx, esi
call fcn.0043f810
add esi, 4
cmp esi, edi
jne 0x43c589
mov esi, dword [esp + 0x24]
push esi
call fcn.00458510
add esp, 4
mov ax, 1
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x5c
ret 8