Function at 0x403010
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using chaskey
Hash data using murmur3
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x435018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x38], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + ecx + 0x78]
add eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x30], 0
xor edx, edx
mov word [ebp - 0x20], dx
mov dword [ebp - 0x24], 0
jmp 0x403085
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x3c]
jae 0x405453
sub si, 0x30a
or ebx, 0x308
rcl ebx, 0x2d
and edi, eax
rcr bx, 0xc4
and cx, di
inc si
dec cx
mov eax, edx
imul dx
dec ecx
imul si
movsx edi, dh
shr ax, 0x34
dec esi
dec ebx
inc dx
imul edx
inc ax
ror ax, 0x27
rcl dx, 0xd8
rol dx, 0x5e
inc bx
je 0x4030da
or bx, 0x26
jmp 0x40314e
sub edx, 0x345
rcr edx, 0x96
or ecx, 0x232
ror cx, 0x5f
imul edx
movzx eax, dh
sub ebx, edi
rol edx, 0xf9
ror edx, 0xd
rcr bx, 0x77
inc ecx
imul bx
imul ax
mov ebx, 0xf8
ror si, 0xb9
add ecx, ebx
mul di
inc ecx
shl ebx, 0x5a
and eax, ebx
inc ax
xor di, bx
rcl cx, 0xfd
and edi, 0x25f
and edi, 0x2fe
add edi, 0x22b
rcr si, 0x86
shr di, 0xfc
inc edi
shr edx, 0x69
movzx ecx, bh
rol dx, 0xfd
inc dx
mul edx
imul esi
dec ecx
shl edx, 0x4a
mov ax, dx
and ecx, esi
dec edi
rcr ecx, 0xbd
rol esi, 2
dec esi
or edi, 0x205
shl cx, 0xc
or eax, 0x338
dec cx
dec eax
inc di
mul edx
movzx edx, di
xor ecx, 0x9e
dec ax
rcr di, 0x2c
mul si
dec si
and dx, 0x24b
movsx ecx, ax
imul si
movzx edi, bl
xor esi, 0x115
or eax, eax
mul ax
imul ax
rcl ebx, 0x9f
ror ebx, 0xa8
add bx, 0x25a
dec ax
or edx, 0x2c7
dec eax
or esi, eax
mov ecx, 0x392
shl edi, 0x12
je 0x4031da
inc esi
mul eax
imul edx
imul ecx
inc esi
mul ebx
or dx, 0x2a5
add cx, 0x2b4
jmp 0x403220
shr di, 0x36
dec ax
mov si, cx
dec eax
shr bx, 0x13
and si, di
mov eax, ebx
mov di, 0x132
inc edi
ror ebx, 0xd4
imul ax
or eax, 0x131
shr eax, 0xe3
dec eax
inc dx
sub di, 0x2c0
rcl cx, 0x46
sub edx, ecx
shl eax, 0xdf
and ebx, edi
rcl edi, 0x4f
and esi, 0x165
mov ax, 0x10d
rcl di, 0x3d
xor eax, edi
or ecx, edx
add ebx, 0x58
or bx, 0x123
inc ebx
shl edx, 0xc1
rcr di, 0x8a
or edi, edx
inc ebx
ror dx, 0xd8
imul edx
shl dx, 0x4d
inc ax
dec bx
or bx, 0x1c2
mov esi, eax
mov ax, 0x229
mov edi, 0x17e
or cx, 0x381
dec eax
dec di
inc ecx
rcl dx, 0xfd
rcr edx, 0x44
movsx edx, di
shr dx, 0xba
add esi, 0x114
rcr di, 0x29
add eax, 0x311
shl si, 0xe4
mov dx, 0x1a0
or bx, 0x2fa
mul dx
add edx, 0x3a5
rol edi, 0x89
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
mov dword [ebp - 0x40], eax
movsx ecx, bx
mov ecx, 0x322
ror ax, 0xec
mov cx, 0x68
sub edx, 0x260
mul si
add si, 0x34b
movsx edi, bh
dec eax
shr esi, 0xd1
rol edx, 0x4b
imul esi
and ax, 0x174
dec ecx
imul bx
add edi, eax
ror bx, 0x84
xor eax, 0xd
sub esi, 0x1ea
xor di, 0x3b0
dec si
inc cx
xor ebx, 0x2b
imul esi
dec bx
shl eax, 0x8e
or ax, bx
ror edx, 0xda
xor esi, esi
inc edi
add dx, cx
movsx ecx, dh
or ebx, 0x2e3
dec ecx
inc dx
add edi, eax
shl ax, 0x24
mov ax, 0x389
dec dx
rol si, 0x94
rcl dx, 0xe9
rcl bx, 0xbb
inc cx
shl eax, 0xd3
mul edx
dec eax
sub ecx, esi
imul ebx
rol edi, 0xd8
rcl di, 0xe1
inc edx
shr ebx, 4
rol esi, 0x45
rcl eax, 0x64
dec ebx
mov cx, si
or edx, 0x261
shr ebx, 0xf0
rcl cx, 0x9c
dec si
imul cx
ror edi, 0x25
mov edx, 0x205
rol cx, 0xe1
and ax, bx
sub edx, 0x392
rcr si, 0xd5
shl ax, 0xeb
rcl ebx, 0x2f
add di, dx
movsx ebx, bx
mov ecx, ecx
add esi, 0x70
rcl edx, 0x10
add ax, 0x370
imul ax
movsx esi, cl
shr si, 0xa1
je 0x4033bb
test esi, 9
je 0x40347e
rcl ebx, 0x96
dec dx
imul dx
movsx edi, al
imul cx
or edi, 0x136
rol dx, 0xcf
jmp 0x40340f
shl edi, 0xef
shr esi, 0xc2
mul ecx
rol cx, 0x22
inc esi
imul dx
dec dx
and eax, 0x284
xor edx, 0x31f
dec ax
shr ecx, 0xa7
xor si, 0x2b2
inc ax
ror dx, 0x50
dec esi
shr eax, 0xf5
inc edx
rol ecx, 0xc
rcl edx, 0xea
inc ecx
movsx ebx, bl
mul eax
ror ebx, 0x19
shr ebx, 0xbe
dec eax
imul esi
shl cx, 0x11
mov di, dx
ror dx, 0x14
imul eax
inc ecx
dec ax
movzx ebx, dh
ror si, 0x2a
shr ebx, 0x9d
shl ebx, 0x95
shr bx, 0xa
mul eax
shl edi, 0x9b
rcl ax, 0x2f
dec eax
ror ax, 0xb1
shr di, 0x64
mul di
shl eax, 0xf1
dec ax
mul bx
rcl ebx, 0xb3
shr esi, 0x31
add ecx, edx
inc edx
and ecx, 0x2d4
shr edi, 0xf1
dec ebx
imul ecx
rcl cx, 0x70
shr edx, 0x14
dec si
sub edi, 0x3db
je 0x40347e
test ecx, 0x33
je 0x4035b5
mov edx, edx
sub ax, dx
imul esi
jmp 0x40352b
and cx, 0x349
inc cx
shr cx, 0x3c
shl ebx, 0x37
inc dx
xor edi, 0x28b
xor eax, 0x166
ror bx, 0x97
rcr dx, 0x30
mul edi
xor si, di
ror di, 0x1d
rcr cx, 0x37
mov esi, 0x1fd
rol eax, 0x18
shl ebx, 0x51
inc cx
imul dx
ror esi, 0x9b
xor si, 0x39c
shr ecx, 0xa5
rcr ebx, 0xd
sub si, dx
sub ecx, esi
rol si, 0x84
ror ax, 0x1d
sub edx, ebx
shl edx, 0xc
dec bx
and si, 0x1b7
xor bx, 0x2d0
inc cx
rcl ecx, 0x97
imul bx
mov ecx, 0x365
shl dx, 0x97
xor cx, 0x396
and ax, 0x74
shl ebx, 0xbb
imul esi
ror edx, 0x4d
rcr eax, 0x9b
rcr esi, 0x3f
movsx edx, si
or si, 0x111
rcl esi, 0xc5
sub di, bx
mov edi, 0x37a
xor ebx, 0xfd
mov esi, ebx
mov dx, 0xb0
rcl ebx, 0xb8
rcl di, 0xbe
inc edi
inc ebx
inc esi
add si, dx
sub esi, ecx
sub bx, cx
shr edx, 0xf
shr bx, 0xec
shl cx, 0x19
inc eax
inc si
xor esi, edx
dec si
movsx esi, bl
add ax, 0x144
dec ebx
imul cx
inc cx
add eax, 0x3c9
add cx, di
rcr ecx, 0xf
dec eax
shr cx, 0x54
imul cx
xor edx, 0x284
and dx, si
and cx, 0x333
rol bx, 0x68
ror dx, 0x1f
and bx, 0xcd
mov bx, cx
dec ax
je 0x4035b5
cmp edx, 0
je 0x403654
xor cx, 0x349
sub ax, cx
shl ecx, 0x52
shr di, 0xc2
dec esi
mul si
jmp 0x4035cd
mul ax
shr edi, 0x4c
rcr esi, 0xa6
imul ebx
shr ebx, 0x23
or cx, 5
sub edi, 0x321
or ecx, 0x3d
ror cx, 0xa
imul bx
imul cx
mul ax
rcl ebx, 0xee
mul edi
add esi, 0x2e0
or ecx, edi
imul edx
inc dx
mul dx
shr ax, 0xd7
ror ecx, 0x98
xor ecx, esi
ror edi, 0xc8
rol si, 0x61
rol eax, 3
and esi, eax
shl di, 0xdc
rol dx, 0x39
movzx esi, bx
movsx edi, bx
inc si
sub ebx, 0xe1
rcr bx, 0x2d
shl ax, 0x7d
and eax, 0x1e3
add ax, cx
imul edx
je 0x403654
test esi, 0xc
je 0x40372a
mul bx
mul si
dec eax
and ebx, eax
movzx ecx, si
mul dx
and bx, 0x344
xor edi, edi
jmp 0x40365a
rcl esi, 0x84
imul si
dec ax
rcl ecx, 0xd4
imul dx
imul bx
rcr dx, 0xda
mov edx, 0xe0
xor edx, ecx
rol dx, 0x3d
dec ax
ror esi, 0xfb
shr ebx, 0x10
ror edi, 0x41
xor ax, 0x331
rcr esi, 0x40
imul ecx
imul si
rcl di, 0xb6
shr si, 0xf1
sub dx, 0x112
rol di, 0x38
shl edi, 0x90
shr si, 2
rol si, 0xa9
imul edx
mul ebx
xor ecx, 0xaf
rcl ecx, 0x88
mul di
inc eax
imul eax
rcr di, 0xe2
or edx, 0x362
and ebx, 0x30f
rcr edx, 0x39
shr dx, 0xf6
xor eax, 0x102
rcr edi, 0xab
add si, si
shl di, 0x51
movsx esi, bl
add bx, 0x33a
mul di
imul esi
rol dx, 0xc8
rcr di, 0x56
rol eax, 0xa2
je 0x40372a
test edx, 5
je 0x403801
xor edi, 0x29
rcr ecx, 0x7b
imul edi
add esi, ebx
xor dx, di
imul bx
or cx, 0xad
add ecx, 0x137
rol edx, 0x46
rcl bx, 0x52
jmp 0x403780
movsx edx, ax
rcl eax, 0x23
imul di
imul si
shl edx, 0xb4
mul dx
and esi, edi
shl cx, 0x22
imul edi
rcl ax, 0x24
imul ax
rcr edi, 0x21
inc edx
shl cx, 0xa6
or bx, di
mov eax, 0x3c6
shl esi, 0x74
mul ebx
or dx, cx
dec edi
mov dx, 0x1b8
shr cx, 0x91
dec si
rcl ecx, 0x6f
add dx, 0x2ff
dec di
movsx ecx, bh
rcr edx, 0xe0
imul esi
inc esi
add edi, edx
shl bx, 0x5b
mov edi, edx
or ecx, eax
or edi, 0x122
rcr cx, 0x32
xor ecx, esi
ror ebx, 0xdf
xor eax, esi
imul edx
shr ax, 0xed
or edx, 0x2a9
dec esi
dec ecx
rcl ax, 0xf6
rol dx, 4
inc esi
imul bx
rcr cx, 0xcb
mul ebx
dec ebx
rcr si, 0x2b
inc bx
rcr si, 0xef
movzx eax, di
dec di
sub bx, dx
rol cx, 0x77
add ebx, ecx
add dx, 0x373
xor eax, 0x1ae
rcl edi, 0x6d
xor si, si
add dx, 0x2ee
imul ax
je 0x403801
cmp edx, 9
je 0x403881
and ax, si
shl si, 0xdd
jmp 0x403828
shl ebx, 0x71
imul edi
imul ax
sub esi, 0x28a
mul edx
rcr edx, 0x22
rcl ecx, 0xdf
and edi, edi
rcr ebx, 0xc5
imul ax
dec cx
and ebx, edx
shl ebx, 0x9c
dec edx
inc eax
dec dx
movsx ecx, dx
mul ecx
mul ecx
mul ax
shl ebx, 0xf8
rcr esi, 0xed
mul edi
rol bx, 0xf
imul esi
xor cx, bx
add esi, 0x53
dec edi
mul ecx
dec edi
shl di, 3
dec si
and si, ax
and eax, ebx
mov ax, 0x71
xor cx, 0x177
mov ax, 0xe5
ror ecx, 0xf
je 0x403881
test edx, 0x4c
je 0x40395c
imul dx
rcl cx, 0xae
jmp 0x403911
ror eax, 0x83
dec ebx
shr bx, 0x12
mul edx
mul bx
mov bx, 0x239
and dx, si
rol bx, 0x70
sub edx, 0x288
shl edi, 0xf2
shl ecx, 0xfa
rcr edx, 0x6c
rol ecx, 0xb6
rol ax, 0xb
rcl edx, 0xf
movzx ecx, ax
add ax, 0x34a
mov ax, 0x2e6
shl eax, 0x74
inc edx
xor si, bx
or edx, esi
add ebx, ebx
add ax, si
mul ecx
dec ecx
inc si
rcr ax, 0xe0
mov dx, cx
dec bx
ror si, 0xc9
mov cx, 0x247
add bx, 0x199
rcr ebx, 0x60
add edi, 0x9e
add ax, bx
shl edi, 0x4a
or edi, 0x2b2
xor edi, 0x38
shr di, 0x52
inc ebx
mul ecx
inc eax
rcr eax, 0xb0
and cx, 0x157
mul cx
imul ebx
add edi, 0x281
rol si, 0xe
rcl edi, 0x48
inc cx
mul bx
and dx, bx
mul edx
xor edx, eax
and si, 0xe4
add si, ax
rcr cx, 0xf6
inc ax
shr eax, 0x48
shl di, 0x30
mov bx, dx
mov edx, ecx
rcr ax, 0x99
je 0x40395c
and di, si
imul si
or ax, bx
sub eax, 0x120
jmp 0x403986
ror eax, 0x68
mul edx
shl ebx, 0xb8
shr ebx, 0x2f
mul eax
inc ecx
or si, 0x21e
inc ecx
ror ax, 0x6c
movsx edi, bl
xor ax, 0x40
sub ebx, 0x198
dec dx
movzx ecx, dx
inc esi
sub ebx, 0x399
imul bx
or ax, 0x327
dec cx
rcl ebx, 0xca
mul dx
dec ecx
rcl eax, 0xd
shl eax, 0xa5
imul eax
add ax, bx
inc bx
shr si, 0xc0
and si, 0x18a
imul ebx
imul cx
inc esi
xor ebx, 0x1ed
rcr ecx, 0xad
xor ecx, 0x1d2
imul di
rol si, 0x6e
mul esi
rcl ax, 0xda
shl dx, 0x9b
dec eax
mul cx
add edx, 0x21e
and ecx, 0x1dc
dec di
shr si, 0x91
rol di, 0xc8
imul ebx
rcr esi, 0x70
imul eax
rcr ebx, 0x31
rol cx, 7
ror bx, 0xbf
xor esi, eax
mul edx
add ax, dx
mov edx, 0x1f7
je 0x403a39
cmp edx, 0x54
je 0x403b03
add ecx, 0x37a
add edi, 0x21a
inc cx
shr dx, 0xed
ror edx, 0xef
mov esi, ecx
rcr cx, 0xb6
jmp 0x403a71
or esi, 0x301
rol cx, 0xdf
add cx, dx
imul bx
rcl esi, 0x27
shl esi, 0x18
movsx edx, bx
inc cx
rol bx, 0x54
add ebx, 0x1ce
mul bx
ror cx, 0xd4
ror esi, 0xd1
or bx, cx
dec cx
dec bx
inc ax
inc edx
sub edx, eax
ror esi, 0xb6
ror ebx, 0xfa
movzx ecx, bx
shr bx, 0x5b
inc ax
xor cx, cx
rcl di, 0x85
shl ax, 0x3c
shl ecx, 0x29
rcl di, 0x4f
movsx edi, dl
ror eax, 0x45
add dx, si
dec cx
rcl esi, 0x89
dec ebx
add di, 0xa7
movzx edx, bh
sub di, 0x2e6
xor di, ax
movzx edi, dh
rol eax, 0xb
dec cx
imul cx
rcl ebx, 0xac
rcr di, 0x44
inc ecx
shl si, 0xbf
ror esi, 0xe6
shl ebx, 0xdf
add ecx, 0x1ea
movsx ebx, ax
je 0x403b03
cmp eax, 0x1a
je 0x403b98
rcl ebx, 0xf
inc di
add bx, 0x3e2
shl ax, 0xd8
imul si
movzx ecx, bx
inc si
inc edx
inc edx
rcr bx, 0x5e
jmp 0x403b57
ror edi, 0xa3
shr di, 0x80
mul edx
shl edx, 0xbf
mov ax, bx
inc dx
rcr dx, 0x10
mul si
add ax, ax
mul edi
movzx ecx, bl
inc dx
or ebx, eax
rcl bx, 0x74
rcr ebx, 0xbf
add bx, bx
sub di, 0x21e
rcl di, 0xe4
rcr ebx, 0x9c
rcr eax, 0x13
and ax, cx
mov di, di
imul dx
movsx ebx, di
inc bx
mul cx
rol ax, 0xbc
mul ebx
xor cx, 0x202
movzx esi, si
add si, cx
or ax, 0x2c2
movsx esi, dh
imul ecx
and si, 0x231
sub ebx, 0x22d
imul cx
mul si
rcr ecx, 0x38
mul si
je 0x403b98
and ebx, 0x363
sub bx, 0x99
shr di, 0x45
mul si
jmp 0x403c16
dec edx
shl si, 0xdf
sub bx, bx
inc dx
inc ebx
imul di
movzx ecx, dx
imul cx
sub dx, dx
and si, 0x71
inc ebx
movzx edi, bx
imul eax
shl si, 0x1f
ror ebx, 0xa7
mul ecx
mul bx
or dx, 0xa9
mul eax
mul esi
or ebx, 0x6d
dec edi
imul edi
inc ebx
inc dx
movzx eax, di
rcr dx, 0x6d
dec si
mov bx, 0x3b6
inc si
ror cx, 0xcf
mul cx
inc ax
and eax, ebx
shr ax, 0x24
mul esi
or cx, bx
mul ebx
dec di
ror di, 0x3f
and edi, ebx
imul ax
shl dx, 0xb
shr di, 0x1c
mul dx
rcr di, 0xb6
dec ebx
mul cx
rol dx, 0x84
movzx ecx, dh
imul edi
or bx, 0x46
or cx, 0x188
add edx, esi
and esi, 0x1c8
imul ecx
xor edi, 0x145
dec esi
imul edi
mul ebx
dec si
rcr eax, 0x6a
add eax, 0x118
inc eax
sub cx, dx
ror eax, 0x49
mul dx
mov bx, 0x285
and edi, 0x2e9
rol si, 0x66
add bx, si
ror di, 0x53
rcl ebx, 0x52
xor eax, edx
imul si
mul cx
movsx edx, di
ror bx, 0xf4
je 0x403c95
test edx, 4
je 0x403d21
or dx, 0x21e
rcl bx, 0x7f
jmp 0x403ca9
imul ebx
shr cx, 0x68
rol eax, 0x74
imul ebx
rol dx, 6
shr si, 0x6f
inc ebx
imul eax
mov eax, 0x191
mul di
sub dx, cx
shl dx, 0xbf
imul ebx
rcr cx, 0x84
and esi, 0x103
or si, 0x264
ror di, 0xdf
shl ecx, 0x49
imul edi
ror ecx, 0x4e
inc dx
mul cx
inc ebx
or si, dx
sub si, 0xf7
and ecx, esi
and di, di
or edi, edx
imul ecx
mul edi
sub ax, 0x237
mov bx, 0xb3
add esi, 0x1f
imul ecx
sub ecx, edx
inc di
rcr cx, 0x9d
rol cx, 0x39
or ax, cx
je 0x403d21
rcr ebx, 0xb6
shl eax, 0xc2
add cx, 0x79
imul eax
add eax, edx
xor bx, si
jmp 0x403d7f
inc eax
mov bx, ax
rol si, 0x9c
shl edx, 0x60
inc esi
or bx, dx
shr ax, 0x19
mov di, 0x392
movsx edi, dh
or cx, si
inc di
mul ecx
rcr ax, 0x20
mov ebx, edi
rcl si, 0xb4
mov esi, ebx
shr edx, 0xd0
rcr dx, 0xa
mul cx
rcl ax, 0x5b
mul esi
inc bx
sub ebx, edi
imul ax
mul ax
mul ebx
sub di, cx
xor ebx, edx
ror bx, 0xc5
shl dx, 0x3a
add ax, 0x219
ror edi, 0x8c
dec ecx
shl di, 0xe5
add eax, 0x98
dec esi
shl esi, 0x7c
and cx, cx
rol ecx, 0x31
mul di
mov ebx, 0x2b0
mov eax, ebx
ror ebx, 0xcf
dec edx
inc bx
dec si
rcr ecx, 0x63
and di, bx
sub edi, ecx
rcr eax, 0x83
sub ebx, eax
add ax, di
imul si
shr esi, 0xb3
xor di, di
rol si, 0x33
rol esi, 0x36
rcl dx, 0x7d
and dx, 0x3d3
dec ebx
rcl cx, 0x8a
and eax, esi
add di, 0x24
imul di
sub cx, 0x301
mul ebx
mov di, 0x1cf
ror ebx, 0x67
sub esi, 0x3a7
ror bx, 0x2e
movsx esi, dh
dec bx
inc eax
ror dx, 0x37
je 0x403e19
add ax, bx
mul ax
shr ebx, 0xd9
mov ebx, edx
shl ecx, 0xe7
xor di, ax
or di, 0x31b
mov ecx, edi
jmp 0x403e79
mul ebx
or edi, 0x30c
imul ax
or eax, 0x1e5
mul di
and esi, eax
mul cx
add edi, 0x250
shl dx, 0x6a
mov ax, cx
rol ax, 0x19
inc di
sub si, 0xa5
shr bx, 0x48
imul di
and cx, dx
mov cx, si
xor esi, eax
inc edi
ror si, 0x48
imul eax
rcl di, 0x46
ror cx, 0xeb
shr ebx, 0xe1
dec edx
mul edi
add edi, edi
rcr di, 0xf0
rol ebx, 0x1c
ror ecx, 0xbc
mul edi
movzx edi, bh
xor edi, ebx
xor cx, 0x2d4
shl bx, 0x8f
inc di
add di, 0xb7
sub cx, cx
shl dx, 0x8c
shl edx, 0x6b
ror si, 0xc
add dx, ax
inc edi
rcl esi, 0xdd
imul edi
rcr esi, 0x7e
shl ebx, 0x47
mul dx
sub esi, esi
inc edx
sub ebx, eax
dec ecx
movzx esi, dx
ror eax, 0x7c
rcr di, 0xd2
sub si, bx
rcr edx, 0xa4
ror dx, 0x55
dec cx
rcr si, 0x40
shr dx, 0x8a
inc edx
xor cx, 0x300
inc esi
rcr esi, 0x25
ror cx, 0x4f
dec di
sub cx, 0x24c
inc edx
mov dx, 0xff
mul ecx
sub ecx, edx
add bx, 0x17c
mul bx
rcl eax, 0xaf
imul ax
rol si, 0xdd
imul di
je 0x403f1e
cmp edi, 0x48
je 0x403fe6
add edi, 0x173
shl dx, 0xed
jmp 0x403f48
rcr dx, 0x81
inc dx
imul di
shr dx, 0x8a
add eax, 0x2c4
xor bx, cx
movsx esi, bx
xor ax, ax
add edx, edi
ror edi, 0x64
movsx edx, dh
imul edx
add bx, 0x20b
mul ecx
rol eax, 2
mov cx, cx
mov ebx, ecx
movsx ebx, bl
mul ebx
rcl edi, 0xb2
rcr esi, 0x93
xor cx, 0x59
shr ax, 0xad
rcr cx, 0x20
rol cx, 0x85
and bx, cx
shl cx, 0x7b
and edx, 0x1e4
rcr cx, 0xcf
dec edx
imul dx
rol ebx, 0xf8
mul edi
mov edx, ebx
mul bx
add di, 0x1a
rcr esi, 0x4b
or edi, edx
inc bx
rol ax, 0x24
rcr di, 0x6a
sub bx, dx
imul ax
shl bx, 0xd5
imul di
rol si, 0x9d
rcr di, 0x7f
ror ecx, 0xef
xor si, 0x86
dec ax
and bx, 0x36f
dec ecx
ror eax, 0x62
je 0x403fe6
ror di, 0x1e
inc ax
movzx edx, di
add dx, cx
dec ax
imul edi
or bx, ax
imul ecx
movsx ebx, bl
ror eax, 0x6c
jmp 0x404060
ror edi, 0x45
rcl edi, 0x38
or si, cx
add bx, ax
rcr di, 0xfb
ror ecx, 0x49
rcl ebx, 0x6f
ror eax, 0xc2
mul cx
inc edx
mul dx
imul bx
or eax, esi
rcr cx, 0x84
mov esi, 0x19c
or ecx, 0xa0
rcr ebx, 0xe0
rcl si, 0x1b
ror si, 0x44
dec ebx
ror ax, 0xed
sub esi, 0x221
rol ax, 0x44
dec edx
rcl esi, 0x38
rcr ecx, 0x2b
and ecx, 0xf8
ror si, 0xaf
shr edi, 0xb5
movsx esi, cl
dec eax
rol ebx, 0x41
inc eax
add edi, 0xf0
rcr ax, 0x3e
shr si, 0x3a
imul ebx
xor eax, 0x3cc
mul dx
movsx ecx, bx
sub di, 0xea
inc ebx
and esi, 0x80
mov edx, 0xc
or bx, bx
ror edx, 0x25
ror bx, 0xd
inc esi
sub esi, 0x3cd
rol si, 0x7b
imul ebx
or ax, 0x2e1
inc si
mul edi
add eax, 0x1f8
rcl edx, 0xb1
rol ecx, 0x79
ror cx, 0x24
movsx eax, bl
rcl eax, 0x47
add dx, dx
shl ecx, 0xf5
rol si, 0xe1
dec si
inc edx
movsx edi, cx
movzx edi, ax
add dx, di
rcr cx, 0x7d
movzx edx, bx
ror dx, 0x36
rcl eax, 0xa7
rol esi, 0xa1
dec dx
ror edx, 0xbc
ror edi, 0x94
xor bx, 0x3e8
mul si
ror ax, 0xb2
dec dx
mov edi, esi
inc cx
mul bx
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00405ab0
mov bx, di
or di, 0x20
add bx, ax
ror ax, 0x5e
shr di, 0xc6
or di, si
add esi, 0x226
rol esi, 0xa0
rcl di, 0x8c
add edi, 0x2d7
add edi, edi
dec edi
shr eax, 0xba
add cx, 0x21a
and bx, ax
imul eax
imul esi
rcl edx, 0xcc
inc ax
mul edx
rcl ebx, 5
rol ax, 0xf6
shl cx, 0xb8
and edi, eax
sub si, ax
mul ecx
rcl esi, 0x46
mul dx
xor ax, 0x2be
and ebx, ebx
inc edx
sub esi, 0x28e
inc ax
imul esi
ror edx, 0x49
inc ecx
mul ebx
ror edx, 0xa3
inc eax
sub edi, 0x72
rol di, 0x35
rcl edx, 0x4b
movsx esi, dx
mul eax
rol cx, 0xf8
inc bx
mov esi, esi
ror di, 0x9a
je 0x4041b3
mul ecx
rol cx, 0xb7
or edx, eax
mul di
sub dx, 0x3cd
shl ebx, 0x35
sub ecx, 0x36d
xor esi, 0x35
dec edx
jmp 0x4041e9
shr si, 0x61
ror si, 0x8a
sub cx, cx
sub si, 0x3c2
dec ecx
mul di
dec bx
add eax, 0x13f
imul ecx
inc bx
movzx eax, al
add dx, 0x277
shl eax, 0xe4
sub edi, 0x28f
inc ebx
mul cx
mul edx
dec ebx
and bx, bx
rcr ebx, 0x2f
inc ebx
rcr cx, 0xc8
movzx esi, bx
imul edx
imul edi
xor dx, 0x16b
add ebx, edi
rol cx, 0x66
shr bx, 0x6a
sub di, bx
imul ebx
rol edi, 0xe2
inc edx
or cx, cx
movsx ecx, dh
shr ax, 0x1e
rol eax, 0x4e
ror edi, 0x80
rol si, 0xaf
add esi, 0x107
ror eax, 0xd7
mul ebx
and cx, bx
and ecx, esi
imul ebx
xor cx, 0x379
inc si
rcr ecx, 0x41
imul ecx
and edx, 0x187
mov si, dx
xor edx, eax
dec bx
dec dx
shr ebx, 0x54
and bx, bx
sub edx, eax
xor eax, 0x2b6
mul bx
shr esi, 0x1e
imul ebx
and dx, 0x49
imul dx
rol ebx, 0xff
or di, si
inc di
je 0x40429d
mul ecx
inc edi
add si, 0x160
mul bx
and ax, di
rol eax, 0x7a
mul si
add bx, bx
xor edx, 0x26b
rcr esi, 0x9c
jmp 0x4042e9
imul di
inc cx
inc edi
sub si, bx
shl eax, 0x90
sub ebx, edi
sub eax, eax
dec edx
or di, 0x49
ror cx, 0xcc
mul edx
shl cx, 0xe1
add dx, 0x3b3
dec si
dec si
dec eax
imul dx
ror ebx, 0x5f
xor cx, di
rcr ecx, 0xa1
shl eax, 0x58
rcl dx, 0xbd
or cx, 0x60
movzx ecx, dl
dec ax
ror ax, 0x1d
xor cx, bx
sub dx, 0x352
or edi, 0x28a
rcr edi, 0xd5
mov ax, dx
ror eax, 0xe0
mul si
movzx ebx, dl
ror ax, 0x64
inc ebx
ror ebx, 0x3c
shr edx, 0x75
ror edi, 0x32
ror esi, 0x75
inc bx
or ecx, ecx
mul ecx
rol dx, 0xde
ror edx, 0x12
mul edi
rol si, 0x2c
shr ax, 0xd9
inc si
inc edx
rol cx, 0x4d
mov ax, 0x36f
rol edi, 0x89
rcr si, 0xfb
and ax, bx
imul si
xor esi, esi
mul ecx
mov ebx, edi
imul edi
or esi, 0x21a
rol esi, 0xc2
mov edx, 0x15f
inc ax
inc si
mov ecx, esi
and edi, esi
imul cx
je 0x404379
shl esi, 0x4f
ror ax, 0x12
shr eax, 0xf8
movsx ecx, di
movzx ecx, si
dec edx
jmp 0x40439d
inc edx
mul di
or di, si
mov ebx, 0x1c4
sub edx, 0x280
inc edx
or ax, 0x1d3
shr ecx, 0x2d
or eax, 0x279
mov edi, 0x3bc
shr edi, 0x2f
mul ax
rcl edx, 0xf3
imul si
and edi, 0x97
xor ax, 0x354
mul si
or edx, 0x39c
dec eax
and si, 0x1b6
sub eax, 0x22c
or si, 0x10d
add esi, esi
mul bx
rcl ebx, 0x1c
imul esi
and si, 0x70
rcl ax, 0x18
sub si, 0xb4
and ax, di
xor edx, 0xd6
dec di
add ecx, edx
inc cx
imul bx
sub ax, 0x61
mul dx
shl eax, 3
rcr cx, 0x28
rcl dx, 0x58
rcl bx, 0x3d
rcr edx, 0xc5
add edx, esi
mov edx, 0x1d1
shr ax, 0xf8
mov eax, 0x26a
mul si
mul cx
and eax, esi
inc cx
rcr bx, 0x97
je 0x404457
cmp eax, 0x1a
je 0x4044e5
xor di, 0x24e
ror edi, 0x82
rol ecx, 0x63
rol bx, 0x64
xor edx, edi
rcr edx, 0x44
rol bx, 0x2d
rol bx, 0x4c
mul edi
jmp 0x404490
mov ebx, 0xab
movsx eax, dx
shl edi, 0xbb
shl edx, 0xb1
shr si, 0x81
mul esi
ror ebx, 0x24
imul ebx
imul esi
imul ax
rcl dx, 0xcf
rcl ebx, 0xcd
inc cx
add eax, 0x1af
dec cx
sub di, ax
shl eax, 0x9d
mul esi
sub bx, ax
add bx, 0x166
dec ebx
shl esi, 0xae
add esi, ebx
mul esi
rcl ax, 0x40
rcl di, 0xd3
mul dx
shr dx, 0xc6
dec edi
inc dx
shr ecx, 9
ror bx, 0x81
shl dx, 0xb
imul ebx
ror esi, 0xc
inc dx
sub ecx, 0x110
rcl edi, 0xdd
je 0x4044e5
and ecx, eax
rcl eax, 0xbf
movsx edi, bx
shl ebx, 0x31
rcr edx, 0xaf
xor di, dx
and edi, 0x16c
jmp 0x40450e
ror edi, 0x34
mov di, si
shl ebx, 0x80
shl edx, 0x4c
ror ebx, 0xd2
shr bx, 0xe4
shl bx, 0x15
rcr ebx, 0x6c
sub cx, di
ror ecx, 0x44
or ebx, 0xa6
imul di
rol cx, 0x50
xor edx, 0x2e8
mov ebx, 0x2fe
xor bx, 0x189
add ax, 0x2f9
sub cx, si
inc bx
inc cx
inc ax
imul eax
rcl esi, 0x18
shl ebx, 0xfc
mov ebx, 0x182
je 0x404550
cmp eax, 0x23
je 0x404609
ror dx, 0xee
ror ecx, 0x87
jmp 0x4045b3
dec bx
rol edi, 0x1a
ror edx, 0xfb
rcr edx, 0xe0
mul ecx
shl ecx, 0x57
rcl ax, 0x54
shr esi, 0xd5
xor bx, 0x323
rol bx, 0x2c
rcl edi, 0xa4
mov cx, 0xfb
ror cx, 0x22
and si, 0x183
inc esi
rol dx, 0x74
inc ebx
or cx, dx
rcr edx, 0x23
rcl si, 0x4b
ror di, 0x9f
imul esi
movsx ecx, al
sub bx, si
sub ebx, edx
rol dx, 0xcc
movzx eax, cx
inc bx
sub ax, 0x2fc
or cx, ax
and edi, edi
imul cx
mul ebx
rcr ax, 0x9a
inc bx
mov dx, 0x3a2
rcl edx, 0x11
ror cx, 0xb3
mov esi, edi
xor ebx, 0x20a
add esi, ebx
rcr di, 0x64
shr ax, 0x61
add dx, 0x19e
dec edx
dec edx
and ax, 0x11d
sub ebx, ebx
je 0x404609
cmp edx, 0x50
je 0x4046fe
mul ebx
movsx esi, bh
add edi, edx
movzx ebx, cl
and eax, 0x3e6
shr ecx, 0x14
and esi, 1
mul edx
jmp 0x404653
inc esi
ror dx, 0xb3
shr bx, 0xd9
dec edi
movsx eax, di
sub dx, 0x37a
or eax, ecx
shl edx, 0x46
rol di, 0xcf
movsx ecx, dh
sub si, cx
rcl di, 0xb6
xor di, si
mov cx, di
rcl cx, 0xfa
or esi, 0x39b
dec edx
ror edx, 0xf0
shr bx, 0xd4
imul si
add edx, ebx
shr edi, 0xaa
ror edx, 0x69
add esi, eax
dec cx
movzx esi, bh
dec ax
ror cx, 0x3b
add edi, eax
imul ebx
inc ax
and si, 0xc2
mul bx
or edi, esi
inc bx
sub dx, cx
rcr ebx, 0xb0
inc cx
shr si, 0xaf
rcl esi, 0x4e
xor ecx, 0x34c
inc esi
mul ebx
movzx ecx, bh
and si, 0x318
inc di
mul esi
shl si, 0xf6
mul eax
rcr cx, 0xcc
sub ax, 0x1f8
sub ebx, edx
imul eax
inc ebx
ror di, 0xd2
movsx ecx, bx
rcr edi, 0x89
inc di
mul bx
sub si, cx
movzx eax, bl
mul ecx
mov si, 0x152
ror ebx, 0xae
ror bx, 0x25
imul cx
xor edi, esi
xor edx, ecx
rcl edi, 0x1a
shl esi, 0xd8
shl edi, 0x4e
shl edx, 0x45
dec edi
je 0x4046fe
cmp edx, 0x5c
je 0x4047f3
mul ebx
dec edx
inc esi
dec ebx
ror di, 0xe1
dec dx
mov esi, 0x39c
ror cx, 0x6a
jmp 0x40473f
shl ax, 0x19
shr edi, 0x43
shl edi, 0x68
or dx, dx
shr dx, 0x42
ror eax, 0x2f
rcl si, 0xc3
inc edi
mul esi
rol eax, 0x4a
rcl dx, 0x25
xor ax, bx
mul dx
add esi, eax
rol bx, 0x78
inc ebx
movsx eax, dh
inc ecx
xor ax, cx
rcl ax, 0x3a
rcl ax, 0xb3
ror esi, 0x29
rol ebx, 0x81
dec edx
rcr esi, 0x22
imul esi
rcr edx, 0xa5
mul bx
mov edi, esi
rol edx, 0xce
or di, di
sub ecx, 0x155
mul esi
rcr dx, 0xa7
rcr edi, 0x67
dec edi
dec si
xor cx, 0x2ca
sub edi, 0x10
sub bx, 0x391
inc si
shl esi, 0xb2
shr eax, 0xbb
rcl ebx, 0x3a
mov di, 0x3c6
mul ecx
rcr dx, 0x5f
xor di, 0x33f
rol dx, 0xf1
dec eax
dec bx
mov ebx, 0x2b1
sub esi, edi
imul ecx
rol di, 0x3b
add edx, 0x36c
dec edi
or edi, esi
shl di, 0x3d
add edx, 0x9e
inc eax
imul ebx
dec esi
and cx, 0x259
xor di, 0x26b
dec ebx
je 0x4047f3
test edx, 0x53
je 0x4048fc
inc esi
rcl dx, 0xcb
dec bx
imul eax
rol edi, 0x22
shr bx, 0x84
imul eax
add dx, 0x30c
imul bx
shr dx, 0x5c
jmp 0x40486f
rcr esi, 0x6c
dec si
rcr ax, 0xd5
and di, 0x1f8
shr si, 0x56
and ebx, 0x255
rcr dx, 0xc9
rcr dx, 0x80
inc eax
dec edx
ror dx, 0xf7
imul ax
imul eax
dec dx
mul bx
sub edi, 0xd
shl edx, 0x97
mul eax
or cx, 0x4f
imul ebx
mul si
mul ebx
dec edi
xor dx, 0x10f
imul dx
imul bx
shr di, 0xf6
inc di
dec si
mul ebx
ror esi, 0xea
xor esi, 0x135
xor ebx, 0x212
inc edx
rcl eax, 0xd9
inc eax
ror edx, 0x5e
ror esi, 0xea
ror esi, 0x78
inc bx
inc ecx
ror ebx, 0xc
or ax, dx
mul esi
rol eax, 0x88
imul ebx
xor edx, 0x157
rol cx, 0xaa
sub edi, 0x34f
mov cx, 0x151
dec edx
rcl ax, 0x79
dec bx
movzx ecx, di
add dx, bx
sub dx, 0x7c
imul di
rol ebx, 0xae
shl ax, 0xb9
dec eax
inc bx
sub ebx, edx
rcr si, 0x2f
movzx esi, bh
inc eax
inc si
add bx, 0x33b
mul dx
mul esi
add cx, ax
shl dx, 0x3c
imul ax
shr eax, 0x2f
rcl ax, 0xbf
xor esi, 0x2a5
rol eax, 0xb1
shr ebx, 0x14
je 0x4048fc
test edx, 0x59
je 0x404990
rcr cx, 0x71
inc edx
or dx, si
sub cx, di
rol edx, 0xb
jmp 0x40492b
xor edx, 0x3b5
or edx, esi
rcl esi, 0x47
sub edi, ebx
and di, 0x1eb
add cx, bx
mul edx
mov di, bx
shr dx, 0xe4
mul dx
rcr edi, 0x5f
mul dx
or ecx, 0x217
mov esi, esi
shr ax, 0xf0
ror si, 0xa5
or ecx, 0x2e1
and si, 0x62
movzx edi, di
mov ecx, 0x3d0
sub eax, 0x139
and cx, 0x127
and ax, 0xdb
rol eax, 0x9b
ror di, 0x72
ror edi, 0x2f
sub ebx, 0x1cc
ror dx, 0xca
shr ebx, 0x3e
movzx edx, si
rcr ecx, 0xd2
sub ax, ax
rol ebx, 0xc6
add eax, 0x8c
dec si
je 0x404990
cmp ecx, 0x1d
je 0x404a96
rol eax, 7
jmp 0x404a1b
rol esi, 0xbb
rcl ecx, 0xd9
dec bx
dec ecx
mov cx, 7
imul edi
ror bx, 0xe
rol esi, 0x1f
imul ecx
rol edi, 0xc1
xor di, 0x363
mul dx
movzx ebx, di
shr bx, 0x79
sub eax, 0x177
movsx eax, dx
imul eax
mul esi
xor di, 0x306
ror ax, 0x8f
mul di
rol edi, 0x8e
inc eax
dec si
mul eax
sub edx, edx
shr ax, 0xa9
mov edx, ebx
xor edx, ecx
movsx edx, si
inc di
rol ax, 0xf7
or ax, 0x14d
xor edi, 0x3a6
xor esi, esi
imul di
inc di
movzx edx, dx
inc dx
mul bx
dec ecx
ror edx, 1
and esi, 0x15
rcr edi, 0xe7
and ebx, 0xc1
add edi, 0xf1
rcl bx, 0x68
imul esi
movzx edx, al
dec eax
inc di
mul edi
mul edi
and edx, edx
inc edx
or ecx, 0x11d
ror edx, 0x4d
or di, 0x95
and ax, 0x1a
sub esi, eax
movzx esi, dx
rcl edi, 0x1b
xor ax, 0x2c8
shl ecx, 0x7b
ror esi, 0x11
movzx ecx, al
shl edi, 0x2f
rcr ax, 0x16
movzx eax, al
rcl edi, 1
sub ax, 0x163
imul dx
rol dx, 0x18
movsx edx, al
shl bx, 0xc7
xor ebx, 0x333
je 0x404a96
test esi, 0x3d
je 0x404b6f
shl dx, 0x3e
dec si
dec si
or eax, 0x297
jmp 0x404add
mov si, 0xa0
inc esi
sub eax, edx
inc bx
inc ebx
shl edx, 0x74
inc cx
mul dx
shl edx, 0x6c
and edi, esi
ror si, 0x63
movsx esi, bh
imul si
shr si, 0x46
shl cx, 0x8b
add ecx, 0x27a
ror cx, 0xea
mul esi
ror si, 0x56
sub bx, 0x3c3
rcr ecx, 0x13
rcr di, 0xca
add ecx, edx
shr si, 0xfe
or si, 0x12a
imul di
dec eax
mul cx
rcr cx, 0x20
rcl dx, 0xc9
dec si
or edx, 0x267
dec ax
and bx, 0x1c
and di, cx
movzx edx, dh
mul eax
imul ecx
inc ebx
xor edi, eax
rcl esi, 0x16
shr dx, 0x23
or edi, eax
inc cx
rol dx, 0x12
xor ax, 0x61
dec cx
shl edi, 0x9a
movzx edi, bh
shl di, 0x77
or ax, 0x15d
imul ecx
imul edi
shl si, 7
ror ax, 0x5a
inc di
rol edi, 0xd8
dec dx
rcl edi, 0x67
mul cx
inc di
mul ebx
je 0x404b6f
inc edx
sub cx, 0x40
inc eax
and edx, 0x206
rcr ax, 9
rol eax, 0x56
imul ax
sub si, 0x3d0
jmp 0x404ba9
sub bx, 0x90
ror bx, 0xcd
shr di, 0xc1
rcl ebx, 0x44
sub cx, 0x2a5
rcr cx, 0x5c
shr ecx, 0x6d
ror esi, 7
sub cx, 0x382
shr bx, 0xdd
and cx, si
mov dx, cx
and ax, cx
mul cx
mov cx, bx
shl ebx, 0x35
or edi, 0xa9
rcl edx, 0xbc
mul edx
shl edi, 0x74
inc bx
rcr di, 0x6c
dec si
xor cx, si
rcl bx, 0x94
mul ebx
mov ebx, esi
shl si, 0x46
or ebx, 0x56
inc ax
ror ecx, 0x4a
je 0x404bf1
test ebx, 2
je 0x404c97
inc edi
or edx, edx
rcr bx, 0x55
mov ax, 0x3dc
jmp 0x404c11
ror eax, 0x6f
dec cx
rol dx, 0xc8
movzx ebx, dl
dec edx
inc dx
mov eax, esi
rol di, 0x28
or ecx, 0x287
sub bx, 0x28c
add ebx, 0x39b
mul bx
rcl bx, 0x14
rol bx, 0x9e
dec edx
movsx edx, cx
shr di, 0xf
inc edi
imul bx
xor di, 0x39a
dec di
inc edi
add ebx, ecx
mul dx
add ebx, 0x35d
movsx eax, cx
rol bx, 0x75
add si, si
imul di
shr dx, 0x57
dec ebx
ror ecx, 0x71
xor ebx, 0x113
movsx ebx, ax
rcl ecx, 0xd9
mul ebx
rcl edi, 1
je 0x404c97
cmp ebx, 0x43
je 0x404d5b
rcr esi, 0xb7
and ecx, 0x1fe
or edi, 0x1d3
rcr bx, 0x34
dec di
ror edi, 0x45
dec ebx
rcr ebx, 0xf4
and si, 0x1d1
jmp 0x404d19
inc edx
inc ebx
imul dx
ror cx, 0x9e
dec bx
rcr bx, 0xa0
movsx edx, dl
dec cx
add edx, 0x3d6
xor si, di
rol edx, 0xb1
ror si, 0x2b
or ax, 0x293
mul ecx
dec ebx
mul ax
imul si
sub edx, 0x367
inc eax
sub ecx, edx
ror di, 0x1f
ror ebx, 0x23
dec esi
dec si
inc dx
inc ecx
xor eax, 0xf2
inc bx
shr eax, 0x28
shl bx, 0xd5
imul ecx
dec ecx
movzx ecx, al
inc cx
add ebx, 0x35
mov si, ax
movzx edi, cl
and di, si
mul ecx
add ax, cx
rol eax, 0xdd
ror eax, 0xef
add esi, 0xc2
dec edi
ror cx, 0x4b
shl eax, 0x80
rcl edx, 0x8f
mul ebx
rol edi, 0xd5
movsx esi, si
imul ax
inc cx
add cx, bx
rcl ecx, 0x80
shl esi, 0xa7
ror si, 0xdb
imul di
shl cx, 0x1f
rol eax, 0xa0
xor eax, edx
rcl eax, 0xc1
dec ebx
shr edx, 0xa5
mul edi
je 0x404d5b
add esi, 0x132
dec dx
shr si, 0xfb
jmp 0x404d95
shl ebx, 0xbf
add ecx, 0x30c
or si, 0x3e6
xor cx, 0x1f1
add ebx, 0x86
and ecx, 0x27e
shl eax, 0x1b
mul ebx
rcl esi, 0x95
ror bx, 0x48
rcl edi, 0x2b
mov bx, cx
imul dx
xor esi, 0xfb
mul ebx
shr ax, 0xa0
mul esi
or edx, 0xe9
rol ebx, 0x4c
shl ecx, 0x4b
mov eax, 0x145
imul di
rol di, 0x72
rcl eax, 0x1d
sub edi, 0x347
imul di
and ebx, edx
or ax, 0x26f
add bx, 0x35
rcl esi, 0x63
dec eax
mov si, cx
imul di
add edx, 0xff
rcl edi, 0xc6
je 0x404e09
test ecx, 0x1f
je 0x404e9c
or eax, ecx
or dx, 0x340
imul ebx
imul cx
shl bx, 0x1f
shr cx, 0xae
imul ecx
sub edi, eax
shl edx, 0x59
jmp 0x404e0c
imul bx
imul dx
dec eax
inc bx
shl si, 0x1a
shr eax, 0x4c
rol dx, 0x85
shl ecx, 0xc9
or dx, cx
inc ecx
shr eax, 0xd6
imul si
rcl edx, 0xe4
and edi, 0x101
shr ebx, 0x7c
movzx edx, di
xor dx, 0x302
inc esi
mul esi
inc bx
dec si
shl ecx, 0x92
shl ebx, 0xca
rcr bx, 0x8d
dec cx
mov esi, 0xd4
rcl ebx, 0x81
ror eax, 0x29
mul esi
inc ebx
and cx, 0x51
shr ecx, 0x80
shl si, 0xc4
inc cx
mov dx, 0x3af
imul ebx
mul bx
shl ax, 0xd2
inc dx
or cx, cx
rcl bx, 0x70
inc dx
ror eax, 0x60
add ebx, edx
je 0x404e9c
inc eax
add edx, 0x245
imul bx
movsx esi, bx
dec di
jmp 0x404edc
or edx, 0xe7
rcl cx, 0x6c
add cx, 0x32d
imul edx
mul dx
and bx, 0x2c5
rol dx, 0x82
rol si, 0xe
inc di
dec edx
rol ebx, 0xb0
sub si, 0x266
inc di
rcr ebx, 0xf8
mul dx
rol edx, 5
mov eax, ebx
imul di
shl di, 8
rol bx, 0x1d
shl esi, 0x18
imul edi
inc eax
shl si, 0x19
mov si, 0x30
rcr si, 0x47
inc di
rcl cx, 0x1b
rol di, 0xd
shr cx, 0x1f
mul edx
or di, 0x1f3
movsx edi, dx
je 0x404f35
cmp esi, 0x2f
je 0x404fd5
rcl esi, 0x92
mul dx
inc edi
shr dx, 0xdc
imul di
inc edi
sub ax, 0x15b
or ecx, 0x21f
rol esi, 0x71
add edi, esi
jmp 0x404f7e
imul ebx
and si, bx
movzx edx, bh
imul edi
sub cx, 0x1cb
rcr dx, 0xea
shl dx, 0xf9
dec edx
add cx, 0x23a
imul edx
add edx, 0x1c3
inc ebx
rcr dx, 0x25
rcr ecx, 0x56
dec dx
and esi, edi
and bx, 0x51
xor di, 0x3cf
shl bx, 2
and di, 0x2b7
mul esi
add esi, esi
imul edi
rol dx, 0x55
or cx, 0x2f4
sub dx, 0x207
rcl ebx, 0xb0
mov eax, ecx
mul bx
imul di
inc eax
movzx eax, di
mul di
shl si, 0xf1
mul esi
movsx esi, di
mov eax, 0x356
shl ebx, 0xf3
mul eax
rol di, 0xf0
inc bx
mul edi
mul dx
je 0x404fd5
shl eax, 6
mul esi
rcl edx, 0x99
imul edi
inc esi
dec eax
imul esi
dec cx
dec si
jmp 0x405059
mov esi, 0xd1
rcl di, 0x64
or edx, ebx
shr ax, 0x49
imul ebx
mul di
inc dx
rol bx, 0x1d
mov dx, 0x262
shr bx, 0x80
mov di, 0x150
inc di
imul esi
add ebx, eax
rcr esi, 0x1b
ror ax, 0xc6
dec si
imul si
dec si
shl di, 0x60
shl eax, 0xad
shr di, 0xa2
mul di
ror eax, 0xae
mov bx, bx
shr dx, 0xb7
dec eax
imul cx
ror di, 0xc9
rcr ecx, 0xbe
dec di
and dx, 0x44
mov cx, 0x181
ror ebx, 0x71
inc edi
inc edx
shl bx, 0x2a
and ebx, 0x45
inc bx
ror si, 0x79
rcr eax, 0x34
rcl edi, 0xd8
or si, 0x30e
rol si, 0x31
imul cx
add edx, ecx
imul edi
dec ecx
rol cx, 0x4a
sub ax, di
shl ebx, 0x57
dec edi
add si, bx
mov bx, dx
xor cx, ax
rcl di, 0x88
rol bx, 0x3f
mov ebx, 0x25f
rol ebx, 0xf0
add cx, 0x2bd
mov edx, 0x1dd
rol di, 0xbc
shr edx, 0xad
and eax, 0x76
or ebx, ebx
xor esi, 0x7c
sub di, 0x251
xor edi, edi
movzx ebx, di
or dx, bx
shl dx, 0xdd
dec si
mul eax
dec si
je 0x4050cc
mov ecx, 0x280
mul ebx
rcr bx, 0x6d
rcr bx, 0x82
jmp 0x405112
mul edi
mul esi
shl edx, 0xf8
or edi, 0x1a5
dec edx
or dx, 0x180
mov edi, 0x18d
xor di, 0x82
movsx esi, di
dec ecx
shr edi, 0xee
xor bx, 0x8b
dec edx
dec edx
imul ax
imul edx
rcl eax, 0xa8
dec ecx
shl ecx, 0x33
sub ax, 0x209
ror di, 0x1f
inc si
and cx, 0x1e4
mul cx
shl edi, 3
sub edx, edx
and di, bx
rol edi, 0x4e
xor di, si
rol di, 0x70
rol si, 0xbb
imul esi
dec edi
and esi, 0xe0
dec edx
dec bx
or edi, 0x12b
xor ax, bx
movsx ecx, bx
ror di, 0x5a
imul edx
movsx eax, dh
and bx, dx
mov ebx, eax
dec edi
and eax, edi
sub si, 0x13b
add bx, 0x65
xor edi, edx
push 0x36c
lea edx, [ebp - 0x1c]
push edx
call fcn.00402ea0
add esp, 8
cmp eax, dword [ebp + 0xc]
jne 0x40543d
dec ecx
rcl bx, 0x85
or si, 0x195
dec ax
xor eax, ebx
dec ecx
and esi, edx
add edi, 0x1c3
dec cx
rol ax, 9
imul edx
inc ecx
mov ebx, eax
shr di, 0xd1
imul dx
inc dx
movsx eax, bx
inc di
rcr esi, 0x44
add cx, 0x2a8
shl edi, 0x70
and edx, ecx
dec esi
rcr edi, 0xec
inc eax
movsx ebx, bl
inc edx
and di, 0x11a
xor ecx, 0x170
mul ecx
and bx, 0x34c
inc ax
rcl ebx, 0xe7
inc edi
imul bx
mul di
rcr bx, 0x46
imul edx
shr bx, 0x4a
rcr ebx, 0x31
movzx esi, di
sub si, 0x343
shl edi, 0xd9
imul bx
imul ecx
inc edi
ror si, 0x31
sub bx, si
and di, cx
mul ecx
add si, dx
imul esi
or ebx, 0x24d
dec ecx
add ebx, 0x134
and ax, dx
imul si
rcr di, 0xfc
je 0x405236
shr si, 0xa4
rcl ecx, 0x61
shl ebx, 0xe7
add cx, 0x265
jmp 0x405277
inc ecx
imul di
inc eax
rcl cx, 0x70
imul cx
rcl di, 0xda
rol ax, 0xc2
rol di, 0x88
or dx, 0x159
mov bx, 0x280
add di, 0x288
movzx esi, al
shl ebx, 0x93
inc ax
and esi, ecx
sub bx, si
rcl di, 0xfc
rcl edx, 0x6c
mul dx
rcr si, 0x19
ror dx, 0x33
rol dx, 0x7b
inc dx
dec ecx
mul si
mul esi
rcl ecx, 5
rcr dx, 0x75
ror bx, 0xac
dec edx
sub esi, 0x8e
sub dx, bx
rcr esi, 0x27
mul ebx
mul edx
mov ebx, ecx
add edi, 0x320
mov edx, eax
shl bx, 0xce
shr di, 2
ror ax, 0xe9
mul edx
rol eax, 0xa1
rcr edx, 0x71
movsx edi, bl
mov bx, 0x2cd
inc edi
rcr esi, 0x70
dec dx
add bx, 0x4f
shr bx, 0xca
rcl edi, 0x95
sub ax, 0x58
inc di
mov edx, 0x24
je 0x405307
rol si, 0x48
rol cx, 0x8d
add di, dx
rcr si, 0xd6
ror si, 0x86
ror esi, 0x5f
movsx ecx, dl
mul dx
jmp 0x40538c
sub ax, cx
mul dx
dec ax
rol eax, 0xf3
imul bx
inc eax
dec dx
dec bx
inc si
mul ebx
inc di
sub ebx, 4
rcl di, 0x23
mov eax, 0x209
mov ecx, eax
rcl eax, 0x3d
ror ax, 0xa3
mul di
or si, di
rcl esi, 0x48
inc dx
shr edi, 0xcc
mov eax, 0x16d
rol bx, 0xd3
ror eax, 0x8c
xor edi, 8
rcr edi, 0xa
xor esi, 0x8f
movzx esi, dl
xor cx, dx
xor si, 0xae
shl ax, 0xe8
inc ax
xor ax, cx
inc di
ror di, 0x7f
or ecx, 0x3c1
movzx ebx, cl
movsx esi, di
inc ax
shl ecx, 0x39
inc ax
shl di, 0x43
inc esi
movzx ecx, di
add ecx, edx
rcr dx, 0xf0
ror cx, 0x9e
dec eax
movzx edi, si
shl di, 0x98
shl edi, 0x97
rcr di, 0xef
movsx eax, bh
ror di, 0x97
shl ax, 0x30
shr bx, 0xd8
shr edi, 0xc7
and esi, 0xeb
dec cx
imul bx
movsx ecx, ax
shr dx, 0x74
or edx, 0x387
or bx, di
mov ebx, 0x256
shr ecx, 0xd7
imul si
shl edx, 0x93
inc ax
ror cx, 0x93
inc si
rcl edi, 0x70
shr bx, 0x1d
sub si, di
imul ecx
shr esi, 0xde
rcr ax, 0x35
imul ax
xor edi, 0x2ed
rcr di, 0x44
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x24]
mov ax, word [ecx + edx*2]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x1c]
movzx eax, word [ebp - 0x20]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x1c]
call fcn.00405a40
jmp 0x405453
mov edx, dword [ebp - 0x2c]
add edx, 4
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x1c]
call fcn.00405a40
jmp 0x40307c
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004097c7
mov esp, ebp
pop ebp
ret