Function at 0x402f80
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x98]
mov cl, byte [esp + 0x94]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov edi, 0x51da4c76
mov dword [esp + 0x78], eax
and cl, 1
mov byte [esp + 0x77], cl
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], esi
mov eax, dword [0x4987d8]
inc eax
mov dword [0x4987d8], eax
xor eax, 0x92e0d564
cmp edi, eax
jle 0x402fe1
mov dword [0x49303c], 0x8f9c1157
jmp 0x403014
mov eax, 0x9fb5db9e
mov ecx, dword [0x48f104]
cmp eax, ecx
jl 0x40300f
mov eax, dword [0x48d0f8]
sar eax, 8
or eax, 0x39dc1074
mov ecx, dword [0x48b32c]
xor ecx, eax
mov dword [0x48b32c], ecx
jmp 0x403014
mov eax, dword [0x4981fc]
mov ecx, eax
inc ecx
mov dword [0x4981fc], ecx
mov ecx, dword [0x4929b4]
add eax, ecx
cmp eax, 0xe06f5b24
jle 0x403090
mov eax, 0xe366976a
mov ecx, dword [0x492eb4]
mov edx, dword [0x488f94]
imul ecx, edx
shl ecx, 0xa
mov edx, dword [0x491688]
mov esi, edx
inc esi
mov dword [0x491688], esi
sub ecx, edx
cmp eax, ecx
jne 0x40308b
mov ax, word [0x4813fe]
movsx ecx, ax
shl ecx, 6
add ecx, 0x1e8e7ff4
mov edx, dword [0x48a114]
xor ecx, edx
xor ecx, 0x8f6afd31
mov dword [0x48a114], ecx
jmp 0x403090
mov eax, 0x8bef84b7
mov cx, word [0x48443e]
mov dx, cx
inc edx
mov si, dx
mov word [0x48443e], si
movsx edx, cx
sub edx, 0xf9ec3eb7
and edx, 0x6ecca3a9
cmp eax, edx
jl 0x4030d0
mov eax, dword [0x48dac4]
and eax, 0x5c67a06c
mov dword [0x48dac4], eax
mov ax, word [0x4841d2]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4841d2], ax
movsx ecx, ax
imul ecx, ecx, 0x53f965a
or ecx, 0xc4a9e888
cmp ecx, 0x7e90fc01
jl 0x403112
mov eax, dword [0x491df8]
and eax, 0xfba33523
mov dword [0x491df8], eax
jmp 0x40311c
mov dword [0x489e9c], 0x363ad3e4
mov eax, 0xe97734fa
mov dword [esp + 0x5c], 0
mov ecx, dword [0x495448]
imul ecx, ecx, 0x11eb240a
mov dword [0x495448], ecx
mov dword [esp + 0x58], 0
mov dx, word [0x481162]
mov cx, dx
and ecx, 0x1792
mov dx, cx
mov word [0x481162], dx
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x1975
mov dword [esp + 0x3c], eax
call fcn.00426180
mov dword [esp + 0x40], eax
mov dx, word [0x4836c8]
mov ax, dx
xor eax, 0x5a24
mov dx, ax
mov word [0x4836c8], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x2d8a
call fcn.00426180
mov dword [esp + 0x68], eax
mov eax, dword [0x494628]
imul eax, eax, 0x284b3a7b
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jne 0x403205
mov eax, dword [0x49632c]
imul eax, eax, 0x74d1da4a
add eax, 0x229e618b
cmp eax, 0x196f072c
jg 0x403200
mov eax, dword [0x48c034]
shr eax, 3
or eax, 0xbc00
mov cx, word [0x484e68]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x484e68], cx
jmp 0x403205
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.004553b0
mov dword [0x48d8e4], 0x1ab17704
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x33d2
mov dword [esp + 0x38], eax
call fcn.00426180
mov dword [esp + 0x64], eax
mov eax, dword [0x498ee0]
and eax, 0xd21fa2b9
mov dword [0x498ee0], eax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00414150
mov dx, word [0x483e36]
movsx eax, dx
or eax, 0x14c0480
mov ecx, dword [0x492e6c]
sar ecx, 4
xor ecx, 0x3ae4c0f1
or ecx, 0x567e36e
cmp eax, ecx
jl 0x4032b0
mov ax, word [0x482886]
movsx ecx, ax
add ecx, 0x3aa2dea3
mov edx, dword [0x4956c8]
and edx, ecx
mov dword [0x4956c8], edx
jmp 0x4032c3
mov eax, dword [0x497d6c]
mov ecx, dword [0x488fdc]
sub ecx, eax
mov dword [0x488fdc], ecx
mov eax, 0xcaad67e8
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x49]
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004553b0
mov ecx, dword [0x490b34]
add ecx, 0x7e57da98
mov edx, dword [esp + 0x34]
cmp edx, ecx
mov dword [esp + 0x30], eax
jle 0x40330b
mov eax, dword [0x48a8c8]
and eax, 0x6f1d3f22
mov dword [0x48a8c8], eax
mov eax, 0x16e8891f
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x18ff
mov dword [esp + 0x2c], eax
call fcn.00426180
mov dword [esp + 0x60], eax
mov eax, dword [0x49749c]
mov ecx, eax
inc ecx
mov dword [0x49749c], ecx
mov ecx, dword [0x48e1d0]
mov edx, ecx
dec edx
mov dword [0x48e1d0], edx
mov edx, dword [0x491714]
imul ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jg 0x403395
mov eax, 0x498108c4
mov ecx, dword [0x48d8f0]
mov dx, word [0x484af4]
movsx esi, dx
imul ecx, esi
cmp eax, ecx
je 0x403390
mov eax, dword [0x495b58]
imul eax, eax, 0x47efd8e5
mov dword [0x495b58], eax
jmp 0x4033a4
mov eax, dword [0x492590]
add eax, 0x3c5e9050
mov dword [0x492590], eax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00414150
mov eax, dword [0x497d0c]
add eax, 0xce6067c
mov dword [0x497d0c], eax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.004553b0
mov ecx, dword [0x492ef4]
mov edx, ecx
inc edx
mov dword [0x492ef4], edx
mov si, word [0x485dea]
movsx edx, si
sar edx, 7
xor edx, 0x9ea5fc91
or ecx, edx
mov edx, dword [0x48fa38]
cmp ecx, edx
mov dword [esp + 0x28], eax
jl 0x403420
mov eax, dword [0x4931ac]
xor eax, 0x26784a3f
mov dword [0x4931ac], eax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00414150
mov eax, dword [0x48a7d0]
dec eax
mov dword [0x48a7d0], eax
imul eax, eax, 0x4ec1a0a
cmp eax, 0x82148501
je 0x403482
mov ax, word [0x4862ca]
movsx ecx, ax
sar ecx, 0xa
add ecx, 0xa7c52b5
cmp ecx, 0x463bc9d
jg 0x40347d
mov eax, dword [0x493c4c]
and eax, 0xc48a131
mov dword [0x493c4c], eax
jmp 0x4034c9
mov eax, 0x31019ef9
mov ecx, dword [0x492028]
mov edx, 0x6835b5c0
sub edx, ecx
mov ecx, dword [0x48d500]
xor ecx, 0xffffffff
sub eax, ecx
and eax, 0x3f070d68
cmp edx, eax
je 0x4034c4
mov ax, word [0x485abe]
mov cx, ax
xor ecx, 0x54b0
mov ax, cx
mov word [0x485abe], ax
jmp 0x4034c9
jmp 0x4034ce
cmp dword [esp + 0x70], 0
je 0x4038ca
mov eax, 0xc54540a7
mov cx, word [0x4809e4]
mov dx, cx
add edx, 0x284c1e8
mov cx, dx
mov word [0x4809e4], cx
mov edx, dword [esp + 0x70]
dec edx
mov dword [esp + 0x70], edx
mov edx, dword [0x496bd0]
imul edx, edx, 0x872ece0e
mov dword [0x496bd0], edx
mov edx, dword [esp + 0x6c]
mov bl, byte [edx]
mov edx, dword [esp + 0x5c]
mov byte [esp + edx + 0x55], bl
mov edx, dword [0x489744]
xor edx, 0xdf0881d8
mov dword [0x489744], edx
mov edx, dword [esp + 0x5c]
inc edx
mov dword [esp + 0x5c], edx
mov cx, word [0x48441e]
mov dx, cx
dec edx
mov si, dx
mov word [0x48441e], si
movsx edx, cx
cmp eax, edx
jle 0x40356b
mov eax, dword [0x48e890]
xor eax, 0xb2c25c8b
mov dword [0x48e890], eax
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x4915a4]
cmp eax, 0x1ceb11fa
jle 0x4035a7
mov ax, word [0x48708c]
movsx ecx, ax
and ecx, 0xbe161f42
xor ecx, 0xc15d32c6
mov edx, dword [0x48e04c]
and edx, ecx
mov dword [0x48e04c], edx
cmp dword [esp + 0x5c], 3
jne 0x4038b6
mov ax, word [0x480f84]
mov cx, ax
imul ecx, ecx, 0xff3b9fb7
mov ax, cx
mov word [0x480f84], ax
movzx ecx, byte [esp + 0x55]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x51], dl
mov ecx, dword [0x48b2d0]
add ecx, 0xc06bf258
mov dword [0x48b2d0], ecx
movzx ecx, byte [esp + 0x55]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x52], dl
mov ax, word [0x4830d8]
mov cx, ax
or ecx, 0x7c15
mov ax, cx
mov word [0x4830d8], ax
movzx ecx, byte [esp + 0x56]
shr ecx, 4
movzx esi, byte [esp + 0x52]
add esi, ecx
mov ecx, esi
mov dl, cl
mov byte [esp + 0x52], dl
mov ax, word [0x486bc8]
mov cx, ax
or ecx, 0xd842
mov ax, cx
mov word [0x486bc8], ax
movzx ecx, byte [esp + 0x56]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x53], dl
mov ecx, dword [0x4988f0]
xor ecx, 0x449f9fa3
mov dword [0x4988f0], ecx
movzx ecx, byte [esp + 0x57]
shr ecx, 6
movzx esi, byte [esp + 0x53]
add esi, ecx
mov ecx, esi
mov dl, cl
mov byte [esp + 0x53], dl
mov dword [0x48b7fc], 0xcb4dfa96
movzx ecx, byte [esp + 0x57]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x54], dl
mov ecx, dword [0x489754]
inc ecx
mov dword [0x489754], ecx
imul ecx, ecx, 0xc9c49974
mov esi, dword [0x4964d4]
or esi, ecx
mov dword [0x4964d4], esi
mov dword [esp + 0x5c], 0
mov ecx, dword [0x4925a8]
add ecx, 0x84009414
mov dword [0x4925a8], ecx
cmp dword [esp + 0x5c], 4
je 0x403887
mov ax, word [0x485a6e]
mov cx, ax
xor ecx, 0x86a4
mov ax, cx
mov word [0x485a6e], ax
test byte [esp + 0x77], 1
je 0x4037fc
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x4037fc
mov ax, word [0x4853b4]
movsx ecx, ax
and ecx, 0x5e31a17e
mov edx, dword [0x491280]
sub edx, ecx
mov dword [0x491280], edx
mov ecx, dword [esp + 0x5c]
movzx ecx, byte [esp + ecx + 0x51]
cmp ecx, 0x3e
jne 0x40378f
mov eax, dword [0x4972bc]
mov ecx, eax
inc ecx
mov dword [0x4972bc], ecx
imul eax, eax, 0xadfb2adf
mov ecx, dword [0x491198]
sub ecx, eax
mov dword [0x491198], ecx
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0044fe70
sub esp, 4
mov ecx, dword [0x494f6c]
and ecx, 0x9d84e67c
mov dword [0x494f6c], ecx
mov dword [esp + 0x24], eax
jmp 0x4037e7
mov ax, word [0x483606]
mov cx, ax
add ecx, ecx
mov ax, word [0x4864ec]
mov dx, ax
and ecx, edx
and ecx, 0xbd7e
mov ax, cx
mov word [0x4864ec], ax
mov ecx, dword [esp + 0x78]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
call fcn.0044fe70
sub esp, 4
mov ecx, dword [0x4904ec]
inc ecx
mov dword [0x4904ec], ecx
mov edx, dword [0x48b848]
or edx, ecx
mov dword [0x48b848], edx
mov dword [esp + 0x20], eax
mov eax, dword [0x48c8a4]
imul eax, eax, 0x3458a333
mov dword [0x48c8a4], eax
jmp 0x403845
mov eax, dword [0x489190]
and eax, 0x4c34e793
mov dword [0x489190], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
mov edx, dword [esp + 0x40]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0044fea0
sub esp, 4
mov ecx, dword [0x495948]
mov edx, ecx
dec edx
mov dword [0x495948], edx
mov dword [0x48b34c], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [0x489960]
not eax
imul eax, eax, 0xd149a5bd
add eax, 0x3907c99a
mov ecx, dword [0x48b490]
sub ecx, eax
mov dword [0x48b490], ecx
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov dx, word [0x4850f2]
movsx eax, dx
or eax, 0x5a8468ee
mov dword [0x48aed4], eax
jmp 0x4036cf
mov ax, word [0x483c1e]
mov cx, ax
add ecx, 0xffb4efe5
mov ax, cx
mov word [0x483c1e], ax
mov dword [esp + 0x5c], 0
mov ax, word [0x48315a]
movsx ecx, ax
mov dword [0x48cd5c], ecx
mov eax, dword [0x48bbdc]
xor eax, 0x9678a6a7
mov dword [0x48bbdc], eax
jmp 0x4034ce
mov eax, 0xcd9af903
mov ecx, dword [0x48b12c]
dec ecx
mov dword [0x48b12c], ecx
mov dx, word [0x484f00]
mov si, dx
inc esi
mov di, si
mov word [0x484f00], di
movsx esi, dx
add ecx, esi
or ecx, 0x4b7b9615
cmp eax, ecx
jle 0x403944
mov eax, dword [0x4990b4]
mov ecx, dword [0x4892f8]
and eax, ecx
cmp eax, 0x23801240
jle 0x40393f
mov eax, 0x40c6419d
mov ecx, dword [0x490958]
and ecx, 0x50c27e48
cmp eax, ecx
je 0x40393a
jmp 0x40393a
jmp 0x40393f
jmp 0x403944
cmp dword [esp + 0x5c], 0
je 0x403fba
mov dword [0x4900d8], 0x1f942767
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov eax, dword [0x490d10]
mov ecx, eax
dec ecx
mov dword [0x490d10], ecx
or eax, 0x8977c2a2
cmp eax, 0x8b116a1
jg 0x4039a0
mov eax, dword [0x4980f8]
mov ecx, eax
dec ecx
mov dword [0x4980f8], ecx
and eax, 0xf5e10b48
mov ecx, dword [0x48fb90]
or ecx, eax
mov dword [0x48fb90], ecx
jmp 0x4039a5
cmp dword [esp + 0x58], 3
jge 0x403a24
mov eax, 0x3800b008
mov ecx, dword [0x498a68]
mov edx, dword [0x48eee0]
or ecx, edx
or ecx, 0xf6a019c6
mov edx, dword [0x496578]
xor edx, ecx
mov dword [0x496578], edx
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x55], 0
mov ecx, dword [0x4939e8]
add ecx, 0xaeffe3ef
mov dword [0x4939e8], ecx
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [0x499550]
dec ecx
mov dword [0x499550], ecx
and ecx, 0xb8fdc68e
cmp eax, ecx
jge 0x403a1f
mov word [0x488156], 0xebe3
jmp 0x4039a5
mov eax, 0xc93f852f
mov ecx, dword [0x490cd0]
or ecx, 0xe806943d
mov dword [0x490cd0], ecx
movzx ecx, byte [esp + 0x55]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x51], dl
mov ecx, dword [0x497af0]
mov esi, ecx
dec esi
mov dword [0x497af0], esi
add ecx, 0xb4c6216e
mov di, word [0x486ce8]
mov si, di
inc esi
mov bx, si
mov word [0x486ce8], bx
movsx esi, di
xor ecx, esi
cmp eax, ecx
jne 0x403a94
mov eax, dword [0x495c8c]
and eax, 0x16400401
mov dword [0x495c8c], eax
jmp 0x403aa3
mov eax, dword [0x48bc1c]
or eax, 0x59efefb7
mov dword [0x48bc1c], eax
mov eax, 0x648b8e88
movzx ecx, byte [esp + 0x55]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x52], dl
mov ecx, dword [0x488f0c]
inc ecx
mov dword [0x488f0c], ecx
and ecx, 0x94252078
cmp eax, ecx
jl 0x403ae4
mov eax, dword [0x492868]
imul eax, eax, 0xc09f167d
mov dword [0x492868], eax
mov eax, 0x7d64e830
movzx ecx, byte [esp + 0x56]
shr ecx, 4
movzx edx, byte [esp + 0x52]
add edx, ecx
mov bl, dl
mov byte [esp + 0x52], bl
mov ecx, dword [0x4970a0]
xor ecx, 0xf1ef7c7b
mov dword [0x4970a0], ecx
movzx ecx, byte [esp + 0x56]
and ecx, 0xf
shl ecx, 2
mov bl, cl
mov byte [esp + 0x53], bl
mov ecx, dword [0x48dfb4]
sar ecx, 5
mov edx, dword [0x498cb8]
mov esi, edx
inc esi
mov dword [0x498cb8], esi
imul edx, edx, 0xcb2ef6bf
sub ecx, edx
cmp eax, ecx
jne 0x403b91
mov eax, 0xcd292667
mov cx, word [0x488278]
mov dx, cx
dec edx
mov cx, dx
mov word [0x488278], cx
movsx edx, cx
and edx, 0xb15dfdde
cmp eax, edx
jge 0x403b8c
mov ax, word [0x48668a]
mov cx, ax
imul ecx, ecx, 0xfcdcfdd7
mov ax, cx
mov word [0x48668a], ax
jmp 0x403bc1
mov eax, 0x3836a1b0
mov ecx, dword [0x48bb48]
sar ecx, 0xa
imul ecx, ecx, 0x2f509825
cmp eax, ecx
jge 0x403bbc
mov eax, dword [0x4985c8]
xor eax, 0x45208849
mov dword [0x4985c8], eax
jmp 0x403bc1
mov eax, 0xf5b13269
movzx ecx, byte [esp + 0x57]
shr ecx, 6
movzx edx, byte [esp + 0x53]
add edx, ecx
mov bl, dl
mov byte [esp + 0x53], bl
mov ecx, dword [0x48a430]
sar ecx, 3
mov edx, dword [0x498838]
imul ecx, edx
add ecx, 0xc74da2e2
cmp eax, ecx
jg 0x403c0a
mov eax, dword [0x49491c]
or eax, 0xefcffff6
mov dword [0x49491c], eax
movzx eax, byte [esp + 0x57]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x54], cl
mov dx, word [0x485562]
mov ax, dx
or eax, 0xa3e6
mov dx, ax
mov word [0x485562], dx
mov dword [esp + 0x58], 0
mov eax, dword [0x4936e0]
imul eax, eax, 0xd5178f80
mov dword [0x4936e0], eax
mov eax, dword [0x48df58]
shl eax, 4
mov ecx, 0x61542130
sub ecx, eax
mov dx, cx
mov word [0x48697c], dx
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x5c]
jle 0x403c9e
mov eax, dword [0x49726c]
mov ecx, eax
inc ecx
mov dword [0x49726c], ecx
xor eax, 0xb6bc
mov dx, word [0x482f7a]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x482f7a], dx
jmp 0x403e7f
mov dword [0x498f18], 0xd3b23fdf
test byte [esp + 0x77], 1
je 0x403df1
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x403df1
mov eax, 0x8858c610
mov ecx, dword [0x4985ec]
inc ecx
mov dword [0x4985ec], ecx
cmp eax, ecx
jne 0x403d08
mov ax, word [0x482052]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x482052], ax
movsx ecx, ax
mov edx, dword [0x48e33c]
or edx, ecx
mov dword [0x48e33c], edx
jmp 0x403d17
mov eax, dword [0x48db10]
add eax, 0x2220002a
mov dword [0x48db10], eax
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3e
jne 0x403d6f
mov eax, dword [0x496e3c]
and eax, 0xeaa10722
mov dword [0x496e3c], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0044fe70
sub esp, 4
mov si, word [0x48595a]
mov cx, si
add ecx, 0x4f42e58d
mov si, cx
mov word [0x48595a], si
mov dword [esp + 0x18], eax
jmp 0x403dc2
mov ax, word [0x480ce6]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x480ce6], ax
mov ax, word [0x486eda]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x486eda], ax
mov ecx, dword [esp + 0x78]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
call fcn.0044fe70
sub esp, 4
mov ecx, dword [0x492c84]
and ecx, 0xdad57af4
mov dword [0x492c84], ecx
mov dword [esp + 0x14], eax
mov ax, word [0x485276]
movsx ecx, ax
mov edx, dword [0x4985cc]
imul ecx, edx
mov edx, dword [0x4908b4]
not edx
add ecx, edx
mov edx, dword [0x4899fc]
sub edx, ecx
mov dword [0x4899fc], edx
jmp 0x403e52
mov eax, dword [0x48ddb8]
mov ecx, dword [0x48ffc8]
imul eax, ecx
imul eax, eax, 0x9cf22347
mov ecx, dword [0x498640]
add ecx, eax
mov dword [0x498640], ecx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
mov edx, dword [esp + 0x40]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0044fea0
sub esp, 4
mov si, word [0x484a14]
mov cx, si
imul ecx, ecx, 0x99d92631
mov si, cx
mov word [0x484a14], si
mov dword [esp + 0x10], eax
mov eax, dword [0x48cb88]
imul eax, eax, 0x448921b5
mov dword [0x48cb88], eax
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x48bb9c]
add eax, 0x1004dc43
mov dword [0x48bb9c], eax
jmp 0x403c49
jmp 0x403e84
cmp dword [esp + 0x5c], 3
jge 0x403fa2
mov eax, dword [0x48aacc]
add eax, 0xe3f3ade7
mov dword [0x48aacc], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x48bbf8]
shl eax, 4
or eax, 0xcc34730c
cmp eax, 0x287d610e
jl 0x403ece
mov eax, dword [0x4895fc]
or eax, 0x34594c6f
mov dword [0x4895fc], eax
test byte [esp + 0x77], 1
je 0x403f3f
mov eax, dword [0x491700]
mov ecx, eax
inc ecx
mov dword [0x491700], ecx
mov ecx, dword [0x490c38]
lea eax, [eax + ecx + 0x2d1cb93c]
mov dword [0x490c38], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.0044fe70
sub esp, 4
mov ecx, dword [0x496420]
mov edx, ecx
inc edx
mov dword [0x496420], edx
and ecx, 0x6a6ce84f
xor ecx, 0xe01db6ca
mov edx, dword [0x48d944]
sub edx, ecx
mov dword [0x48d944], edx
mov dword [esp + 0xc], eax
jmp 0x403f81
mov eax, dword [0x48a1a4]
imul eax, eax, 0x526a1047
mov dword [0x48a1a4], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
mov dword [eax], 0x3d
call fcn.0044fea0
sub esp, 4
mov dx, word [0x483ea4]
mov cx, dx
imul ecx, ecx, 0xe19825cf
mov dx, cx
mov word [0x483ea4], dx
mov dword [esp + 8], eax
mov eax, dword [0x48c7f8]
shl eax, 6
xor eax, 0x53bc4961
mov ecx, dword [0x48e2c8]
imul ecx, eax
mov dword [0x48e2c8], ecx
jmp 0x403e84
mov ax, word [0x48202a]
mov cx, ax
xor ecx, 0x6bf2
mov ax, cx
mov word [0x48202a], ax
mov eax, 0xe60756bf
mov ecx, dword [0x491728]
imul ecx, ecx, 0x4c438fb1
cmp eax, ecx
jne 0x403fef
mov eax, dword [0x4897e4]
shl eax, 2
xor eax, 0x1c43592d
mov ecx, dword [0x48cfe8]
imul ecx, eax
mov dword [0x48cfe8], ecx
mov eax, dword [esp + 0x40]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.00414150
mov dword [0x493dfc], 0xc9bcb2f3
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00417e00
mov dx, word [0x483a00]
mov ax, dx
inc eax
mov si, ax
mov word [0x483a00], si
movsx eax, dx
mov ecx, dword [0x495b9c]
imul ecx, eax
mov dword [0x495b9c], ecx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00417e00
mov eax, dword [0x494f9c]
add eax, 0xe4d06304
cmp eax, 0x7881ef33
jg 0x40408e
mov ax, word [0x487d6e]
mov cx, ax
and ecx, 0x327a
mov ax, cx
mov word [0x487d6e], ax
jmp 0x4040ad
mov eax, dword [0x492a04]
mov ecx, 0x40144d9
sub ecx, eax
mov eax, dword [0x48ec18]
or ecx, eax
or ecx, 0xa1d3a92d
mov dword [0x48ec18], ecx
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00417e00
mov eax, dword [0x48aa3c]
inc eax
mov dword [0x48aa3c], eax
mov ecx, dword [0x48a770]
shl ecx, 6
or eax, ecx
mov ecx, dword [0x496a6c]
xor ecx, eax
mov dword [0x496a6c], ecx
add esp, 0x7c
pop esi
pop edi
pop ebx
ret