Function at 0x403190
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x439020]
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 0x403205
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x3c]
jae 0x4042d1
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00405660
add ax, di
dec dx
inc ebx
mov ecx, 0x208
or eax, edi
mul cx
dec si
imul bx
sub eax, 0x221
and cx, ax
imul esi
shl si, 0x15
add si, cx
shl esi, 0x7d
ror di, 0xd2
or edx, edx
inc edx
shr di, 0xf6
movzx esi, ax
mul eax
or eax, edx
rol ecx, 0x92
inc dx
inc eax
mul eax
mul dx
inc si
and ebx, esi
shl ecx, 0xb3
mul bx
rcr ebx, 0x41
mul cx
rcl eax, 0xc1
ror esi, 0x3d
imul esi
inc si
shr cx, 0x6a
xor ebx, 0x16c
shl edx, 0xa6
ror cx, 0xc2
shr di, 0xd0
xor esi, 0x36
or cx, si
and dx, 0x124
xor di, di
xor di, 0x23d
inc si
xor esi, edx
shl cx, 0xbe
movzx edx, si
rol eax, 0x1d
shl esi, 0x5c
dec edi
dec esi
mul di
and edi, ebx
dec bx
add ebx, 0x39d
dec si
imul eax
mov eax, edx
movsx eax, dh
inc di
or edi, eax
inc edi
inc si
xor esi, ebx
inc di
rcl di, 0x90
imul ax
inc edi
mov si, 0x219
sub dx, si
shr cx, 0xc0
movzx esi, si
mul ax
imul eax
mov ecx, ecx
ror edi, 0xa0
dec edi
je 0x40331e
cmp ecx, 0x43
je 0x40340b
or dx, 0x87
imul ecx
add eax, edi
rcl edi, 0x2d
jmp 0x403369
shl ecx, 0x21
inc si
mov ecx, ebx
rol bx, 0x7c
sub cx, 0xc0
ror di, 0xa9
xor dx, 0x320
mul dx
movsx edx, di
inc si
xor di, ax
rcl dx, 0x48
dec ax
xor dx, cx
rcl di, 0x4b
sub cx, cx
rcr edx, 0x64
dec ecx
shl dx, 0x46
add dx, di
inc bx
rol ax, 0x7b
dec esi
inc ax
rcr esi, 0x1d
movsx edx, si
shr eax, 0xb3
xor ecx, 0xba
and ecx, 0x158
add ax, 0xf
and di, 0x2f2
mul eax
shr di, 0x68
ror edx, 0x90
inc dx
xor ecx, ecx
sub edi, edx
add ecx, edi
rcr bx, 0x35
mul dx
rol eax, 0xf0
shr eax, 0xef
shl dx, 0x8c
inc dx
movzx eax, dx
inc di
mul ax
mov si, 0xa0
rcl di, 0x70
inc ebx
shr esi, 0x97
or eax, ebx
rcl bx, 5
sub esi, 0x3a6
mov ebx, edi
rcr esi, 0x45
rol bx, 0x44
imul cx
dec si
shr esi, 0xa0
rol dx, 0x2f
shl dx, 4
movsx ebx, bx
je 0x40340b
test ebx, 0x1d
je 0x4034cb
mul esi
inc di
or ebx, 0x396
add edi, eax
mul bx
mov esi, 0x26
imul ax
jmp 0x403442
imul ax
or di, bx
movsx edx, bl
dec edi
mul ecx
shl cx, 0x49
shr si, 0x45
movzx esi, cx
rol edi, 0x85
sub bx, 0x17c
ror cx, 0x59
mul si
imul di
and eax, 0x2ef
movzx esi, dl
or ecx, 0x292
dec cx
rol edx, 0x55
inc di
shr eax, 0xa
mov edx, 0x158
mov bx, 0x2cc
movsx esi, si
imul edi
rol dx, 0x52
shl esi, 0x6d
inc ebx
dec dx
ror dx, 2
shl esi, 0x7b
shl edx, 0x5e
dec cx
xor bx, 0x24
imul ebx
inc ebx
shr cx, 0x5b
ror edi, 0x95
inc bx
and bx, ax
and eax, eax
ror si, 0x7b
imul ecx
or si, 0x1b2
sub bx, si
imul si
ror cx, 0xe8
shr esi, 0x75
dec cx
and si, 0xf
inc edx
ror eax, 0x17
inc di
je 0x4034cb
cmp eax, 2
je 0x403573
inc esi
and esi, 0x124
rcr esi, 0x9f
ror dx, 0x5d
shl di, 0xfe
xor bx, ax
jmp 0x403549
or ecx, edx
rcl bx, 0x23
mov edx, 0x33c
ror edx, 0x15
add bx, 0x2c3
inc ebx
imul di
rol edi, 0x95
imul eax
mul ebx
imul ebx
shl esi, 0x6d
mul si
shl si, 0xbe
rcl ax, 0xaf
movzx edi, ax
dec si
xor edi, 0x24f
or edi, 0x22e
mul cx
rcr bx, 0xcd
dec edx
imul di
inc edx
dec bx
xor bx, 0x112
dec di
imul si
mul bx
mov ecx, 0x3b7
xor eax, eax
rol esi, 0xca
inc edi
shr edi, 0x29
shr di, 0x9c
mov ax, ax
dec edx
add eax, ecx
mul dx
imul si
and esi, eax
inc dx
mul ecx
shr si, 0xfc
inc si
shr eax, 0x14
add ecx, 0x131
rol edx, 0x1f
je 0x403573
test ebx, 0x1f
je 0x4035d2
mul edx
ror ax, 0xf1
rcr di, 0xea
dec dx
jmp 0x4035a4
or ebx, 0x18a
mul si
dec ax
sub dx, cx
rcr edi, 0xbc
dec cx
mul edx
mul dx
dec edx
shr dx, 0xe2
xor edx, edx
ror ecx, 0xf0
mul eax
dec ecx
sub bx, 0x1c4
rol ebx, 0xa
dec edi
rcr ebx, 0xc6
rcr edx, 0x63
rol eax, 0xb9
inc edi
inc edx
je 0x4035d2
test esi, 0x26
je 0x4036a2
mov si, 0x22d
xor di, di
dec cx
mul edi
inc bx
or cx, 0x3b7
sub dx, 0x5d
jmp 0x403609
ror edi, 0x8a
rcl edi, 0xae
mov ecx, eax
mul ecx
or bx, 0x89
rol edi, 0x1f
mov dx, 0xcf
mov eax, esi
rcr bx, 0x68
shr dx, 0xd0
sub edx, 0x1d5
mov eax, eax
movsx edx, cl
rcr ebx, 0x75
shr ebx, 0xc9
rol esi, 0x2d
rcl edx, 0x2e
or esi, eax
or esi, 0xea
mul ecx
mul ecx
sub cx, 0x1c2
sub esi, 0x1c7
and ebx, eax
dec edi
xor edi, 0x3d
dec si
imul edx
rcl dx, 0x3d
shl dx, 0x86
ror ax, 0x81
and cx, 0x3d2
rcl si, 0x4b
inc ebx
ror ecx, 0x2e
rcl ax, 0x69
or edi, 0x1f
or di, si
rol bx, 0x4a
dec ecx
rol esi, 0x42
and ecx, ebx
and ax, 0x2c
rcl ecx, 0xfa
and edi, ebx
ror eax, 0xc4
inc esi
and ecx, 0x3b3
shl dx, 0x12
imul si
movzx edi, bx
rcl cx, 0x53
mov ax, 0x20c
ror ax, 0x70
imul ecx
ror si, 0x22
je 0x4036a2
cmp ecx, 0x1f
je 0x403745
and si, cx
ror edi, 0x85
imul edi
shl esi, 0x5b
shr bx, 0x81
jmp 0x4036c2
shl edx, 0x44
and di, 0x125
dec cx
rcr ebx, 0x43
sub edi, 0x3b1
mov ebx, 0x39e
rcl dx, 0xe7
rcr dx, 0x7b
imul cx
rcl bx, 0x7d
rol ecx, 0xac
mov bx, dx
imul bx
rcr ebx, 0xba
rcl si, 2
xor ax, ax
movsx ebx, bh
mul edi
rol edx, 0xc9
shl dx, 0xd3
inc dx
imul ebx
shl di, 0x4c
imul esi
movsx ecx, cx
ror cx, 0x22
rcr eax, 0x3a
movsx edi, cx
xor cx, 0x262
shr edi, 0x35
rcr eax, 0xd3
dec dx
rcl edi, 0xd8
and si, 0xa5
rcl si, 0x12
inc si
mul ebx
ror edx, 0x70
shr edi, 0xc3
or dx, 0x32
rcr eax, 0x69
sub si, cx
mov bx, cx
xor ecx, 0xa5
mov esi, esi
mul ebx
rol esi, 0xb6
je 0x403745
xor di, cx
dec dx
jmp 0x4037b2
rcl cx, 0xc9
sub bx, di
dec bx
dec ecx
shr di, 0x6a
inc esi
add ax, 0x98
mul si
imul eax
add bx, 0x176
mul esi
imul bx
ror edi, 0xa8
add si, 0x2ad
add ax, 0x1b7
and si, 0x3a1
inc ecx
mul eax
ror bx, 0xf6
shr ecx, 0xc3
ror edx, 0xd9
mul ecx
movsx eax, dh
rcl cx, 0x53
movzx eax, si
xor bx, ax
inc edx
inc esi
mul esi
dec ax
inc bx
rcr eax, 0x99
add di, 0x236
and cx, 0x1b5
and esi, ebx
or si, bx
rcr di, 0xc0
shl edi, 0xaa
imul ecx
shr si, 0x53
rcl cx, 0xdb
movzx ebx, bh
inc cx
shr dx, 0x67
imul ebx
and edi, edi
mul eax
add bx, 0x162
shr ecx, 0x2c
dec ebx
rcr edi, 0x8d
dec si
and dx, ax
add bx, 0x167
dec edi
movzx eax, bh
inc cx
sub edx, ecx
je 0x403803
shl edi, 0xbf
mul si
sub si, 0x164
mul eax
and edx, eax
rcr ax, 0x34
jmp 0x403878
add si, bx
or edi, eax
dec bx
dec edx
dec si
rol edx, 0x42
dec edx
sub di, 0x209
xor bx, di
rcl edi, 0x93
dec edx
and eax, 0xa2
rol dx, 0xf3
mul edx
sub esi, 0x2b
mul cx
rcl esi, 0x2a
dec esi
mul edi
dec ax
shl edi, 0xe7
movzx edi, cl
rol edx, 0xd0
add si, 0x3e8
dec dx
shl ebx, 0x40
ror ecx, 0xea
or eax, 0x334
or edx, 0x1a4
or dx, bx
rcl ax, 0xdd
rcr bx, 0xcc
inc edi
rcl si, 0x6b
shr eax, 0x77
shl si, 0x42
rol dx, 0xdc
mul di
shl eax, 0xb5
ror eax, 0x80
sub ax, 0x24d
and esi, edi
and si, 0x2e
rcl eax, 0xfd
xor cx, cx
imul dx
and edx, esi
inc dx
inc ebx
rol edx, 0x80
add ecx, 0x303
sub ax, ax
je 0x4038af
mul dx
mul ebx
inc edx
ror edi, 0xd2
jmp 0x403933
mov bx, cx
inc ax
add edx, ecx
inc di
and edx, 0x285
rcr cx, 0x35
rol eax, 0x76
and ecx, 0x1dd
ror ebx, 0xe8
or edi, ebx
dec di
imul di
shl ebx, 0x50
dec si
mul edx
movzx esi, cl
inc di
mul bx
rol si, 0xd7
ror ebx, 0xf1
rol si, 0x28
shl esi, 0x63
rol ax, 0x58
dec dx
movzx edi, al
rcl dx, 0xbb
rol cx, 0x38
shr dx, 0x16
and dx, di
shr ebx, 0xd3
add di, 0x96
xor ecx, ebx
shl esi, 0x20
rcl cx, 0x14
rcr ebx, 3
and ax, 0x2b5
dec edx
and dx, si
imul ax
imul bx
movzx ecx, bh
rcr di, 0x57
imul edi
inc di
sub ax, 0x32b
movzx edx, di
rcr ecx, 0x21
movzx eax, cl
rcr si, 0x7b
or bx, 0x34f
inc ebx
rcl ax, 0x18
shl bx, 0xdd
or edx, edi
xor edx, 0x1c9
inc cx
mul eax
mul ecx
inc edi
movsx ecx, bl
dec ax
mov cx, 0x392
xor edx, 0x127
imul ebx
rol si, 0xe
inc edx
inc eax
shr ax, 0xb1
rol edi, 0x8e
mul ecx
rcr ax, 0x3b
mov ecx, 0x310
imul di
dec si
mul esi
rol di, 0x2d
xor esi, 0x382
and cx, 0x149
rcl edx, 0x66
ror edi, 0x17
imul bx
mov cx, 0xb2
add ebx, 0x34f
rol edx, 1
mul di
je 0x4039d2
rol bx, 0xa7
add si, bx
add edi, 0x2d6
mov si, bx
mul eax
jmp 0x403a49
dec eax
inc dx
add esi, eax
mov bx, bx
shl di, 0xe1
rcl esi, 0x83
dec bx
inc ecx
ror ax, 0x1b
or cx, si
ror esi, 0xee
rcr dx, 0xa5
mul edx
shr ebx, 0x8b
rcl esi, 0xb4
shl dx, 0x2a
imul ecx
shr edx, 3
shr ebx, 0x96
ror si, 0x78
sub dx, ax
add ecx, 0x177
ror esi, 0x6d
mul esi
add eax, ebx
rcr edi, 0x97
add si, 0x316
shl eax, 0x7d
ror di, 0xe9
mul edx
dec edx
sub eax, 0x52
sub eax, ecx
imul cx
rcr edi, 0x91
or edi, ebx
dec ax
shl ecx, 0x1e
mov cx, 0x24b
and si, 0x25a
mul esi
inc di
rcr si, 8
rcr ebx, 0x19
dec si
or di, di
xor cx, 0x383
or ecx, ebx
je 0x403a66
ror bx, 0xb6
jmp 0x403a8d
rcr ax, 0xe3
rcl ebx, 0x9b
shr ebx, 6
imul cx
inc dx
inc di
sub ecx, esi
mul cx
shl ebx, 0x46
shr di, 0x28
mul ecx
and si, 0x329
shr edx, 0xa7
rcl si, 0x28
shr si, 0xf
shr edi, 0xdf
rcl si, 0x21
ror ecx, 0x18
mul ax
mul ecx
sub edi, esi
shl ecx, 0x96
movsx eax, dx
ror bx, 0x18
inc cx
rol di, 0x70
rcr ax, 0xdd
dec ecx
shr edx, 0xc9
rol edx, 0x73
mul edx
mov dx, si
add si, di
dec eax
and bx, 0x202
imul ecx
dec edx
xor edx, 0xb7
mul cx
add di, bx
imul esi
or esi, 0x324
or ecx, edi
inc bx
ror edi, 0x67
imul cx
shr ax, 0x63
and edx, eax
dec si
rcl si, 0x52
dec eax
ror esi, 0x1b
and edi, 0xb3
add ecx, 0x164
and ax, dx
imul dx
rcr si, 0xe4
shr ecx, 0x6f
je 0x403b21
inc esi
dec edx
mul eax
jmp 0x403b7b
dec esi
ror ecx, 0xe4
dec eax
shl bx, 0x1c
shl bx, 0xd0
and edi, 0xec
imul edx
imul dx
shr ax, 0xfe
and ax, 0x2c4
rol si, 0x41
shr ecx, 0xef
xor bx, ax
shr edx, 0xd9
inc eax
dec edi
xor esi, 0x268
mul ecx
inc si
or ebx, ebx
ror si, 2
mov si, 0x162
and bx, di
xor esi, 0x369
and si, 0x3dd
imul ebx
shr edx, 0x77
shr dx, 0x7a
dec dx
ror ax, 0xb8
and dx, dx
mul ebx
rol edx, 0xe
or bx, 0x2e7
rcl edx, 0x2c
rol si, 0xe2
add edi, 0x394
ror esi, 0x67
shl esi, 0xaa
dec edi
imul edx
and eax, 0x1f5
rcr edx, 0x1a
ror edi, 0x22
and bx, ax
mul edi
dec ebx
dec esi
rcr cx, 0x35
imul ax
shr esi, 0xda
ror edi, 0x58
rcr eax, 0xf6
imul si
je 0x403bd9
cmp esi, 1
je 0x403caa
or cx, cx
jmp 0x403c4d
imul si
rol edx, 0x32
movzx ebx, di
rcl eax, 0xbb
shr ebx, 0xfb
inc ecx
rol dx, 0xd4
ror ax, 0x83
shr si, 0x1d
or ecx, 0x14e
or edx, 0x21e
xor eax, edx
shl dx, 0x6b
movsx esi, ax
sub edx, ecx
mov esi, 5
and di, 0xf
add edi, 0x1ec
ror edx, 0xd6
imul ax
xor bx, di
dec ecx
imul edx
dec di
mov eax, eax
and ax, bx
and ebx, ebx
or edx, edi
rol cx, 0xcd
dec si
xor bx, di
xor si, 0x251
shl ecx, 0x6a
movzx esi, ax
mul esi
add eax, eax
inc edx
dec cx
imul eax
rol cx, 0xc
inc di
add cx, 0x337
shr edx, 0xff
rcl esi, 0x7d
ror ebx, 0x5d
xor edx, edx
dec bx
ror eax, 6
mov ax, dx
xor cx, 0x232
shr ax, 0xf
mov bx, 0xad
rol eax, 0x6e
sub si, bx
imul ax
imul di
inc ax
shl eax, 0x1b
ror edx, 0x2f
je 0x403caa
imul edx
xor ecx, edx
shr ecx, 0x55
inc si
movzx edi, si
rol eax, 0x23
ror cx, 0xd
shr ecx, 1
rcl eax, 0xa1
jmp 0x403cdd
dec ecx
rcr eax, 0xe4
shr esi, 0x2f
sub ecx, esi
mov edi, 0xd3
inc edx
inc eax
and eax, ebx
shl cx, 0x9e
or dx, bx
ror esi, 0x67
sub ebx, ebx
movsx esi, bx
movzx edi, bl
dec si
dec bx
inc esi
ror bx, 0xcf
dec eax
rol bx, 0x84
inc esi
xor dx, 0x3b5
dec esi
inc dx
xor edx, 0xe0
imul ecx
dec eax
rcr ax, 0xc4
inc bx
and eax, eax
xor eax, edi
rcl esi, 0x75
rol ebx, 1
movsx ebx, cx
rcr dx, 0x53
shl ecx, 0xc0
sub ecx, 0x1e9
ror di, 0x25
mov di, 0xba
inc dx
xor edx, 0x50
add ax, di
or cx, 0x3b2
xor eax, 0x3d9
rcl cx, 0xe2
rcl si, 0x40
ror di, 0x7d
and esi, edx
movsx ebx, bx
inc ebx
imul si
add edx, 0x2d6
sub ebx, 0x15a
je 0x403d61
shl ecx, 0xa9
xor ax, di
inc esi
imul esi
imul eax
movsx esi, al
sub si, 0x2e
jmp 0x403df8
imul esi
xor cx, si
rcr cx, 0x8a
rcr edi, 0x87
dec bx
imul esi
rcl esi, 0x9b
rcr cx, 0xf7
rol eax, 0xab
imul ax
dec ax
ror esi, 0x2f
xor ax, 0x10f
rol bx, 0x2f
add cx, dx
mov di, bx
rcl si, 0xc0
inc ecx
rol esi, 0x25
and si, 0x1f4
rcl edi, 0x18
rol ax, 0x35
imul esi
mul dx
rcl cx, 0x29
and dx, 0x37
dec edi
rol si, 0x6d
dec eax
rol eax, 0x9d
shl eax, 0x80
or ebx, 0xdd
rcl cx, 0x14
add cx, dx
ror edi, 0xb0
or edx, edx
imul cx
shr si, 0xa
sub di, cx
mul dx
mul ecx
movzx eax, di
shl bx, 0x35
rcl edx, 0x20
shr bx, 0x40
add dx, ax
inc edx
sub ax, 0x1f9
rcl ebx, 0xbb
imul edi
rcl ecx, 0x39
mov ebx, 0x242
rol cx, 0xf3
ror si, 0xda
inc ax
inc bx
mov esi, 0x2ec
dec edx
shr ax, 0x81
dec edx
inc edi
ror di, 0x13
mul eax
shl cx, 0x92
imul cx
rcr ecx, 0x76
dec ax
inc cx
and ax, cx
movsx eax, bl
rol di, 0x3c
dec dx
mul edi
ror di, 0x43
dec di
shr ebx, 0xb8
sub cx, cx
mov eax, edx
inc ebx
inc edx
or edx, ebx
mul ax
shl dx, 0x61
rcr di, 0x89
rol bx, 0xd3
je 0x403e81
cmp esi, 0x3a
je 0x403efe
mul dx
shl ebx, 0xd9
mul esi
add di, cx
movzx ebx, bl
or dx, di
xor si, ax
imul cx
jmp 0x403ebc
imul si
movsx eax, bx
rcr edx, 0xf8
xor eax, 0x375
dec ax
sub ecx, ecx
shl edi, 0xd8
rcl dx, 0xc1
shr cx, 0xe3
shl edx, 0x52
add bx, 0x31a
shr esi, 0x25
sub di, cx
movsx ecx, dx
shr cx, 0x7c
dec esi
mul ax
mul eax
rcr esi, 0x8e
add esi, edx
rcr ebx, 0x77
shl ecx, 0xb9
rcl si, 0xa5
mul dx
dec ecx
movzx eax, dh
xor esi, ebx
or dx, cx
shl ecx, 0x36
mul dx
rcl ax, 0x8d
sub edx, 0x3a6
xor esi, ebx
shr ax, 0xa
or edx, eax
ror dx, 0xfc
mul di
rcr cx, 0xaa
je 0x403efe
mul si
jmp 0x403f16
add ebx, 0x19d
add bx, 0xff
rcl bx, 0xd8
imul ax
shl eax, 0xfa
add si, bx
imul edx
mov dx, 0x1d6
and ecx, edi
ror cx, 0x3d
rcl eax, 0x2c
imul esi
imul cx
or eax, 0x23c
ror cx, 0x4d
mov di, bx
xor bx, di
imul edi
imul dx
ror ebx, 0x5b
inc ebx
ror si, 0x5f
add esi, 0x26a
rcl ax, 0xfe
mov di, 0x2dd
mul ax
mul eax
shr eax, 0x8c
shr edx, 0xb2
rol bx, 0x73
shr edi, 8
and si, 0x268
imul cx
inc eax
inc ebx
movsx edx, bl
and esi, edi
rcr ebx, 0x8b
rol ebx, 0xbf
sub eax, esi
shr esi, 0x54
je 0x403f9f
mov ebx, 0x1ea
rcr di, 0x2e
rcl ax, 0xa1
dec ecx
dec eax
imul bx
mul cx
inc esi
imul edx
jmp 0x404039
inc si
mov di, dx
imul eax
shl di, 0x65
imul eax
imul bx
shl di, 0xb8
or ecx, 0x1ef
dec edi
xor si, 0x374
dec di
dec di
inc ebx
imul ecx
xor cx, 0x2cc
imul bx
and bx, 0x2b2
shr eax, 0xea
or bx, cx
or edx, 0x1bf
shr cx, 0x4a
movzx edi, cx
rol di, 0xe3
shr ecx, 0xe1
rcl ecx, 0x14
sub ebx, 0x362
mov edi, ecx
imul ecx
rol esi, 5
xor ax, 0x159
xor dx, 0x259
movsx ecx, cx
shl edi, 0x50
imul ax
rol si, 0xd
or edx, esi
and edx, ebx
mov si, ax
add dx, dx
rcl eax, 0xf
add ax, 0x229
and cx, 0x62
dec edi
movsx esi, bx
imul di
ror ecx, 0x4e
shl ebx, 0xad
ror cx, 0x3c
sub di, di
and si, cx
inc cx
and ax, 0x1da
mul di
shr edi, 0x86
rol bx, 0xee
inc dx
movzx ebx, dh
ror edx, 0xea
inc edx
add si, cx
rol dx, 0x79
rol esi, 0x91
je 0x404070
test ecx, 0x54
je 0x4040e1
inc si
jmp 0x404083
shr edi, 0x24
mov ax, 0x228
shr ebx, 0x72
imul ax
shl ebx, 0x99
movzx edi, di
add ax, dx
ror esi, 0xc4
mul si
sub ax, ax
mul dx
or ebx, 0x272
mov ebx, 0xcc
mul eax
and bx, ax
or si, 0x25f
imul ebx
sub si, 0x17e
shl bx, 0xee
imul edx
movsx ebx, bl
movzx ebx, bh
inc edx
inc dx
mul ebx
sub si, di
je 0x4040e1
shl dx, 0x8c
shr cx, 0xba
or cx, dx
shr esi, 0xd1
ror edx, 0xf
dec si
sub di, 0x183
ror edx, 0x36
jmp 0x4040ea
add eax, 0xc0
shr di, 0xf0
dec di
add dx, cx
inc si
xor dx, di
shl eax, 8
shl edx, 0x9a
rol eax, 0x54
mul dx
xor cx, 0x121
rcl di, 0xdc
rcr edi, 9
mul dx
ror ecx, 0x63
dec ecx
movsx edx, bx
mov ax, dx
mul si
mul cx
mov eax, 0x2b4
imul cx
movsx ebx, dx
imul cx
inc bx
imul edi
mul dx
inc edx
rcr edx, 0xe4
dec bx
or esi, 0x179
mul bx
or ecx, 0x2c0
shl edx, 0x6d
dec eax
mul bx
xor cx, dx
je 0x40415b
shr si, 0x8a
jmp 0x404168
ror eax, 0x68
sub si, ax
and eax, edx
dec ebx
ror ax, 9
rcl edi, 0xcb
dec ebx
mov cx, di
shr ax, 0xe2
je 0x40417c
inc ax
jmp 0x404217
mul bx
dec ebx
inc edi
rcr esi, 0xd3
ror bx, 0x2b
xor di, 0x3b3
inc ebx
movsx eax, dx
imul ecx
xor cx, 0x1a8
ror di, 0x3c
rcl bx, 0xf7
inc dx
or dx, 0x3af
rcl di, 0x4e
inc eax
xor dx, 0x356
and edi, 0x2e9
mul edi
add eax, edx
dec eax
shr cx, 0xa0
imul cx
xor esi, 0x3a6
movsx ebx, bl
imul di
dec edx
shl si, 0xe9
dec di
mul dx
inc esi
inc cx
mul eax
or si, 0x186
or ecx, ecx
shr si, 0x8f
xor di, 0x175
rcr di, 0x2d
mul bx
or ebx, esi
rol bx, 0x57
and si, 0x35e
shr edx, 0x44
mul eax
imul si
add cx, cx
rcl ax, 0x45
shl edi, 0x9f
rol ebx, 0x8b
mul eax
add eax, 0x19e
shl si, 0xfc
rcr ax, 0x78
xor ecx, edx
rol esi, 0xfb
inc esi
rcl si, 0xbc
rcl di, 0xc4
mul eax
or ebx, ecx
rcl eax, 0x74
dec edx
mul eax
dec eax
mul si
dec bx
ror edi, 0xdf
ror edi, 0x7d
shl dx, 0x51
rcr dx, 0x36
sub dx, 0x36
mov edi, 0x6f
dec ecx
and edx, 0x108
xor bx, si
and di, di
dec ecx
xor bx, 0x2b
mov edx, edi
dec edi
dec dx
imul edx
xor ecx, ecx
push 0x36c
lea edx, [ebp - 0x1c]
push edx
call fcn.00403020
add esp, 8
cmp eax, dword [ebp + 0xc]
jne 0x4042bb
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.004055f0
jmp 0x4042d1
mov edx, dword [ebp - 0x2c]
add edx, 4
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x1c]
call fcn.004055f0
jmp 0x4031fc
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.0040bcc2
mov esp, ebp
pop ebp
ret