Function at 0x401620
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 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 [0x49215c]
xor eax, 0xd2d755c1
mov di, word [0x49bc1e]
movsx edx, di
shl edx, 1
imul edx, edx, 0xbaf5abb0
sub edx, 0xdbc36ff9
cmp eax, edx
je 0x40168f
mov dword [0x48d9d0], 0xf1c4eb5e
jmp 0x40169e
mov eax, dword [0x4933a8]
or eax, 0x30092754
mov dword [0x4933a8], eax
mov eax, 0xfe748b69
mov ecx, dword [0x48c178]
mov edx, ecx
dec edx
mov dword [0x48c178], edx
mov si, word [0x49b3b2]
mov dx, si
lea ecx, [edx + ecx - 1]
mov si, cx
mov word [0x49b3b2], si
mov ecx, dword [0x496c30]
add ecx, 0xc8eda3d2
mov dword [0x496c30], ecx
mov ecx, dword [0x48e674]
shl ecx, 2
add ecx, 0xeef30166
or ecx, 0x7f44da85
cmp eax, ecx
jle 0x401712
mov eax, dword [0x493d40]
imul eax, eax, 0xd95d1e2
mov ecx, dword [0x48fc70]
sub ecx, eax
mov dword [0x48fc70], ecx
mov eax, 0x51f00bdd
mov dword [esp + 0x5c], 0
mov ecx, dword [0x4904fc]
mov edx, dword [0x494dec]
mov esi, edx
dec esi
mov dword [0x494dec], esi
sub ecx, edx
add ecx, 0x7ae04a2b
cmp eax, ecx
jge 0x401753
mov eax, dword [0x492d08]
or eax, 0x6e6a22ee
mov dword [0x492d08], eax
mov eax, 0x70018401
mov dword [esp + 0x58], 0
mov cx, word [0x4991e6]
mov dx, cx
add edx, 0x57088a2c
mov cx, dx
mov word [0x4991e6], cx
mov edx, esp
mov dword [edx + 4], 0x41
mov dword [edx], 0x35b1
mov dword [esp + 0x3c], eax
call fcn.00440380
mov dword [esp + 0x40], eax
mov cx, word [0x49a2e6]
mov ax, cx
and eax, 0xccc2
mov cx, ax
mov word [0x49a2e6], cx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x44b5
call fcn.00440380
mov dword [esp + 0x68], eax
mov eax, dword [0x490764]
imul eax, eax, 0x4e2ad378
sub eax, 0xa849e89f
mov edx, dword [esp + 0x3c]
cmp edx, eax
jne 0x401803
mov ax, word [0x49ccfe]
movsx ecx, ax
sar ecx, 2
add ecx, 0x295094ea
mov edx, dword [0x4914f0]
xor edx, ecx
mov dword [0x4914f0], edx
mov eax, 0xa24cb28f
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x4d]
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455ca0
mov ecx, dword [0x48d614]
and ecx, 0x3e81a153
mov dword [0x48d614], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x28aa
mov dword [esp + 0x34], eax
call fcn.00440380
mov dword [esp + 0x64], eax
mov eax, dword [0x48e854]
mov ecx, dword [0x492aa4]
add eax, ecx
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jge 0x401889
mov eax, dword [0x48f0c0]
inc eax
mov dword [0x48f0c0], eax
mov ecx, dword [0x48be08]
xor eax, ecx
xor eax, 0xcc53b14d
mov dword [0x48be08], eax
jmp 0x4018a1
mov eax, dword [0x48e730]
mov ecx, 0xdc9bc60c
sub ecx, eax
mov eax, dword [0x48ab34]
xor eax, ecx
mov dword [0x48ab34], eax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00436780
mov eax, dword [0x494f80]
mov ecx, 0x143083b5
sub ecx, eax
mov eax, dword [0x48fab8]
imul eax, ecx
mov dword [0x48fab8], eax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.00455ca0
mov ecx, dword [0x496f7c]
and ecx, 0x2ac9f61c
mov dword [0x496f7c], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0xb1b
mov dword [esp + 0x30], eax
call fcn.00440380
mov dword [esp + 0x60], eax
mov eax, dword [0x48c14c]
mov ecx, dword [0x496144]
xor ecx, eax
mov dword [0x496144], ecx
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00436780
mov eax, dword [0x48f204]
and eax, 0xb3c4e4f6
mov dword [0x48f204], eax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.00455ca0
mov ecx, dword [0x48fdcc]
and ecx, 0x25c28118
mov dword [0x4927ac], ecx
mov ecx, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x2c], eax
call fcn.00436780
mov eax, dword [0x48d478]
xor eax, 0x2532c7d
mov dword [0x48d478], eax
cmp dword [esp + 0x70], 0
je 0x401f18
mov eax, 0x4a7083a6
mov dword [0x491c94], 0xffefb7f2
mov ecx, dword [esp + 0x70]
dec ecx
mov dword [esp + 0x70], ecx
mov dword [0x492c94], 0x82f89c3b
mov ecx, dword [esp + 0x6c]
mov dl, byte [ecx]
mov ecx, dword [esp + 0x5c]
mov byte [esp + ecx + 0x55], dl
mov ecx, dword [0x493278]
mov esi, ecx
inc esi
mov dword [0x493278], esi
xor ecx, 0xf8b6af6d
cmp eax, ecx
jge 0x4019fa
mov eax, dword [0x4924bc]
add eax, 0xafcc88b
mov dword [0x4924bc], eax
mov eax, 0xffffbfee
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x48af98]
shl ecx, 7
add ecx, 0x4cd5d2d3
mov edx, dword [0x48fae8]
and edx, ecx
mov dword [0x48fae8], edx
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x490dac]
xor ecx, 0xffffffff
sub ecx, 0x192178c3
cmp eax, ecx
je 0x401a5c
mov eax, dword [0x495694]
mov ecx, dword [0x48cec8]
or eax, ecx
or eax, 0xb3412caf
mov dword [0x48cec8], eax
cmp dword [esp + 0x5c], 3
jne 0x401f03
mov eax, 0x32a3727
mov ecx, dword [0x48d670]
shl ecx, 6
add ecx, 0x8d20ce43
xor ecx, 0x960bc606
mov edx, dword [0x496f08]
imul edx, ecx
mov dword [0x496f08], edx
movzx ecx, byte [esp + 0x55]
shr ecx, 2
mov bl, cl
mov byte [esp + 0x51], bl
mov ecx, dword [0x48c1e8]
sar ecx, 4
add ecx, 0x60389ac9
cmp eax, ecx
jne 0x401acd
mov ax, word [0x497c48]
mov cx, ax
add ecx, 0x1c559a08
mov ax, cx
mov word [0x497c48], ax
movzx eax, byte [esp + 0x55]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x52], cl
mov eax, dword [0x48c750]
xor eax, 0x6835bee8
mov dword [0x48c750], eax
movzx eax, byte [esp + 0x56]
shr eax, 4
movzx edx, byte [esp + 0x52]
add edx, eax
mov cl, dl
mov byte [esp + 0x52], cl
mov eax, dword [0x48dd50]
shl eax, 3
xor eax, 0xd5b67fd8
cmp eax, 0xc78642c1
je 0x401b41
mov eax, dword [0x493944]
dec eax
mov dword [0x493944], eax
mov cx, word [0x49b792]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x49b792], cx
jmp 0x401b59
mov eax, dword [0x492510]
xor eax, 0xa29dd37
mov ecx, dword [0x4935c4]
and ecx, eax
mov dword [0x4935c4], ecx
mov eax, 0xd756690b
movzx ecx, byte [esp + 0x56]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x53], dl
mov ecx, dword [0x49690c]
dec ecx
mov dword [0x49690c], ecx
mov esi, dword [0x494e98]
imul ecx, esi
cmp eax, ecx
jg 0x401b9c
mov eax, dword [0x491c54]
and eax, 0xf46d7657
mov dword [0x491c54], eax
mov eax, 0x683ac09d
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 [0x490e20]
and ecx, 0x4064099f
mov dword [0x490e20], ecx
movzx ecx, byte [esp + 0x57]
and ecx, 0x3f
mov bl, cl
mov byte [esp + 0x54], bl
mov ecx, dword [0x493cf8]
or ecx, 0xd2b268b2
mov dword [0x493cf8], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [0x4911fc]
cmp eax, ecx
jge 0x401c4a
mov eax, 0x4379543d
mov ecx, dword [0x493094]
and ecx, 0x517fdfba
cmp eax, ecx
jle 0x401c45
mov eax, dword [0x49667c]
mov ecx, eax
dec ecx
mov dword [0x49667c], ecx
xor eax, 0x84e1
or eax, 0x131e
mov dx, word [0x497e56]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x497e56], dx
jmp 0x401c4a
jmp 0x401c4f
cmp dword [esp + 0x5c], 4
je 0x401e7a
mov eax, dword [0x49591c]
cmp eax, 0x2000300
jne 0x401c79
mov eax, dword [0x48ad68]
or eax, 0x7bcb9ac1
mov dword [0x48ad68], eax
test byte [esp + 0x77], 1
je 0x401dcc
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x401dcc
mov dword [0x493fc8], 0x67a79e1d
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3e
jne 0x401cfb
mov ax, word [0x497280]
mov cx, ax
xor ecx, 0x1cef
mov ax, cx
mov word [0x497280], ax
mov ecx, dword [esp + 0x78]
mov edx, esp
lea esi, [esp + 0x4d]
mov dword [edx], esi
call fcn.00401000
sub esp, 4
mov ecx, dword [0x494218]
mov edx, dword [0x48e7b0]
xor edx, ecx
mov dword [0x48e7b0], edx
mov dword [esp + 0x28], eax
jmp 0x401daf
mov eax, 0xe466d4fc
mov cx, word [0x49adc6]
mov dx, cx
or edx, 0x5feb
mov cx, dx
mov word [0x49adc6], cx
mov ecx, dword [esp + 0x78]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
mov dword [esp + 0x24], eax
call fcn.00401000
sub esp, 4
mov ecx, dword [0x48b120]
mov edx, dword [0x48e030]
mov esi, edx
dec esi
mov dword [0x48e030], esi
add ecx, edx
mov di, word [0x49a906]
mov dx, di
inc edx
mov di, dx
mov word [0x49a906], di
movsx edx, di
or ecx, edx
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
je 0x401d91
mov eax, dword [0x48c434]
imul eax, eax, 0x81a06d70
mov ecx, dword [0x491824]
xor ecx, eax
mov dword [0x491824], ecx
jmp 0x401daa
mov eax, dword [0x48b8b8]
mov ecx, dword [0x48ebc8]
imul eax, ecx
imul eax, eax, 0xa53e0cc1
mov dword [0x48ebc8], eax
jmp 0x401daf
mov ax, word [0x49cf04]
mov cx, ax
add ecx, 0xb0553b0d
mov ax, cx
mov word [0x49cf04], ax
jmp 0x401e26
mov eax, dword [0x4941f4]
xor eax, 0xc42fbc05
mov dword [0x4941f4], 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.00440c10
sub esp, 4
mov ecx, dword [0x495638]
inc ecx
mov dword [0x495638], ecx
and ecx, 0x90a5d080
mov edx, dword [0x48fcec]
lea ecx, [edx + ecx + 0x4f1a2d3f]
mov dword [0x48fcec], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [0x48b908]
imul eax, eax, 0xdbafa7c4
and eax, 0x8d6b8728
mov cx, word [0x49b928]
movsx edx, cx
add edx, 0x14ff1f2c
cmp eax, edx
jne 0x401e5d
mov eax, dword [0x48f024]
or eax, 0xef7dfdef
mov dword [0x48f024], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x48adc0]
xor eax, 0xa1a3bc66
mov dword [0x48adc0], eax
jmp 0x401c4f
mov ax, word [0x4976b8]
mov cx, ax
add ecx, 0x92c8821
mov ax, cx
mov word [0x4976b8], ax
mov dword [esp + 0x5c], 0
mov ecx, dword [0x496780]
add ecx, 0x4b89d703
mov edx, dword [0x493d8c]
add ecx, edx
cmp ecx, 0x5c69412b
jl 0x401ed9
mov eax, dword [0x4912c0]
sar eax, 7
mov ecx, dword [0x48bee8]
xor eax, ecx
xor eax, 0xf3282437
mov dword [0x48bee8], eax
jmp 0x401efe
mov eax, dword [0x48eb1c]
add eax, 0x641ca8a9
mov cx, word [0x49d264]
mov dx, cx
and eax, edx
and eax, 0x596d
mov cx, ax
mov word [0x49d264], cx
jmp 0x401f03
mov eax, dword [0x491ccc]
imul eax, eax, 0x272fe50e
mov dword [0x491ccc], eax
jmp 0x401993
mov eax, dword [0x49463c]
add eax, 0x8984dbae
mov dword [0x49463c], eax
cmp dword [esp + 0x5c], 0
je 0x402580
mov ax, word [0x49cf9e]
movsx ecx, ax
add ecx, 0x3043ca17
mov edx, dword [0x49575c]
and edx, ecx
mov dword [0x49575c], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x58], ecx
mov ax, word [0x49919c]
mov cx, ax
mov ax, word [0x49ab1e]
mov dx, ax
not edx
imul ecx, edx
mov ax, cx
mov word [0x4975dc], ax
cmp dword [esp + 0x58], 3
jge 0x401fcd
mov dword [0x48ced4], 0x1042094
mov eax, dword [esp + 0x58]
mov byte [esp + eax + 0x55], 0
mov cx, word [0x497d12]
mov ax, cx
imul eax, eax, 0xbfffcaff
mov cx, ax
mov word [0x497d12], cx
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x48c988]
imul eax, eax, 0xd39f4832
mov dword [0x48c988], eax
jmp 0x401f77
mov eax, 0xfbf883ec
mov ecx, dword [0x48b2b8]
sar ecx, 4
or ecx, 0x6df39399
mov edx, dword [0x490dcc]
add edx, ecx
mov dword [0x490dcc], edx
movzx ecx, byte [esp + 0x55]
shr ecx, 2
mov bl, cl
mov byte [esp + 0x51], bl
mov ecx, dword [0x494988]
add ecx, 0x29eee202
cmp eax, ecx
jl 0x40201b
mov dword [0x48f70c], 0xcb0483e6
movzx eax, byte [esp + 0x55]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x52], cl
mov eax, dword [0x48f814]
mov edx, eax
inc edx
mov dword [0x48f814], edx
mov edx, dword [0x48ec1c]
lea eax, [eax + edx - 0x4ee0b5dc]
mov dword [0x48ec1c], eax
movzx eax, byte [esp + 0x56]
shr eax, 4
movzx edx, byte [esp + 0x52]
add edx, eax
mov cl, dl
mov byte [esp + 0x52], cl
mov eax, dword [0x48d70c]
add eax, 0x8e7bd7dc
mov dword [0x48d70c], eax
movzx eax, byte [esp + 0x56]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x53], cl
mov eax, dword [0x493514]
mov edx, eax
dec edx
mov dword [0x493514], edx
mov edx, dword [0x496754]
sub edx, eax
mov dword [0x496754], edx
movzx eax, byte [esp + 0x57]
shr eax, 6
movzx edx, byte [esp + 0x53]
add edx, eax
mov cl, dl
mov byte [esp + 0x53], cl
mov eax, dword [0x48fb2c]
xor eax, 0x408
mov si, word [0x49b5c6]
mov dx, si
and edx, eax
mov si, dx
mov word [0x49b5c6], si
movzx eax, byte [esp + 0x57]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x54], cl
mov eax, dword [0x49027c]
xor eax, 0xffffffff
add eax, 0x5bd27789
cmp eax, 0xc7facc73
jge 0x402110
mov ax, word [0x49b2c6]
movsx ecx, ax
mov edx, dword [0x494008]
imul edx, ecx
mov dword [0x494008], edx
mov dword [esp + 0x58], 0
mov eax, dword [0x492130]
sar eax, 8
add eax, 0x7019193f
xor eax, 0x13ff1815
mov dword [0x490594], eax
mov eax, 0xcb560880
mov cx, word [0x498a32]
mov dx, cx
dec edx
mov cx, dx
mov word [0x498a32], cx
movsx edx, cx
mov cx, word [0x497ed2]
movsx esi, cx
xor esi, 0xffffffff
imul esi, esi, 0x3212e632
and edx, esi
cmp eax, edx
jle 0x4021cc
mov eax, 0xb4ccff6b
mov ecx, dword [0x48d8d4]
not ecx
mov edx, dword [0x492e34]
dec edx
mov dword [0x492e34], edx
sub edx, 0xe39f1fa0
and ecx, edx
cmp eax, ecx
je 0x4021c7
mov eax, dword [0x494a8c]
sar eax, 4
or eax, 0xdb84cb44
mov ecx, dword [0x493d24]
mov edx, ecx
dec edx
mov dword [0x493d24], edx
imul ecx, ecx, 0x3c8bad75
cmp eax, ecx
jle 0x4021c2
jmp 0x4021c2
jmp 0x4021c7
jmp 0x4021cc
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x5c]
jle 0x402217
mov ax, word [0x499a1c]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x499a1c], dx
movsx ecx, ax
or ecx, 0x44871642
cmp ecx, 0x6c873343
jl 0x402212
mov eax, dword [0x4917d4]
add eax, 0x42688a3c
mov dword [0x4917d4], eax
jmp 0x40245b
mov word [0x499c8c], 0x1b20
test byte [esp + 0x77], 1
je 0x402370
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x402370
mov eax, dword [0x493174]
imul eax, eax, 0xb29bcb27
mov ecx, dword [0x4964b4]
xor eax, ecx
mov ecx, dword [0x48aeb8]
and ecx, 0x408a101
cmp eax, ecx
jne 0x40227f
mov ax, word [0x49caee]
movsx ecx, ax
shr ecx, 2
and ecx, 0x5b60
mov ax, cx
mov word [0x49a2a0], ax
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3e
jne 0x402310
mov eax, 0xcadb7da9
mov ecx, dword [0x48b79c]
mov edx, ecx
inc edx
mov dword [0x48b79c], edx
mov edx, dword [0x48bb6c]
and ecx, edx
cmp eax, ecx
jg 0x4022cc
mov ax, word [0x49c942]
movsx ecx, ax
mov edx, dword [0x496ab8]
or edx, ecx
mov dword [0x496ab8], edx
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00401000
sub esp, 4
mov si, word [0x49c386]
movsx ecx, si
mov edx, dword [0x4949c8]
add ecx, edx
xor ecx, 0xecf92a75
mov edx, dword [0x48b588]
imul edx, ecx
mov dword [0x48b588], edx
mov dword [esp + 0x18], eax
jmp 0x40235b
mov eax, dword [0x48eda8]
shl eax, 6
mov ecx, 0x50ef36a4
sub ecx, eax
mov eax, dword [0x497080]
xor eax, ecx
mov dword [0x497080], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.00401000
sub esp, 4
mov ecx, dword [0x48dfc8]
add ecx, 0x98f6ca17
xor ecx, 0x5f66d524
mov dword [0x4952d0], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x48bc04]
imul eax, eax, 0xc9ab2f79
mov dword [0x48bc04], eax
jmp 0x4023d6
mov eax, dword [0x4935ec]
sar eax, 8
add eax, 0xa6514ed
mov ecx, dword [0x48ed40]
xor eax, ecx
xor eax, 0x1fd92d70
mov dword [0x48ed40], eax
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.00440c10
sub esp, 4
mov ecx, dword [0x490858]
or ecx, 0xbfff
mov si, word [0x498c1e]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x498c1e], si
mov dword [esp + 0x10], eax
mov ax, word [0x4980d2]
movsx ecx, ax
xor ecx, 0xb9102dbc
mov edx, dword [0x48b488]
imul edx, ecx
mov dword [0x48b488], edx
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x58], ecx
mov ax, word [0x49a0f2]
movsx ecx, ax
shl ecx, 5
cmp ecx, 0xf43407d6
jg 0x402429
mov eax, dword [0x48b624]
or eax, 0x6400363e
mov dword [0x48b624], eax
jmp 0x402456
mov eax, dword [0x48b980]
cmp eax, 0xe88e438e
je 0x402451
mov ax, word [0x49bfb8]
movsx ecx, ax
mov edx, dword [0x492174]
imul edx, ecx
mov dword [0x492174], edx
jmp 0x402456
jmp 0x40212f
jmp 0x402460
cmp dword [esp + 0x5c], 3
jge 0x402571
mov ax, word [0x4971fe]
mov cx, ax
imul ecx, ecx, 0x87f54463
mov ax, cx
mov word [0x4971fe], ax
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x48f500]
and ecx, 0xdc1491d8
mov dword [0x48f500], ecx
test byte [esp + 0x77], 1
je 0x402514
mov eax, dword [0x495a28]
add eax, eax
xor eax, 0x127f
mov cx, word [0x499dca]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x499dca], cx
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00401000
sub esp, 4
mov si, word [0x498730]
mov cx, si
dec ecx
mov di, cx
mov word [0x498730], di
movsx ecx, si
or ecx, 0xff0a755f
mov edx, dword [0x492294]
add edx, ecx
mov dword [0x492294], edx
mov dword [esp + 0xc], eax
jmp 0x40255c
mov dword [0x49248c], 0xe1873bfa
mov ecx, dword [esp + 0x78]
mov eax, esp
mov dword [eax], 0x3d
call fcn.00440c10
sub esp, 4
mov dx, word [0x49c51c]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x49c51c], dx
movsx ecx, dx
mov esi, dword [0x48e800]
or esi, ecx
mov dword [0x48e800], esi
mov dword [esp + 8], eax
mov eax, dword [0x4964e0]
imul eax, eax, 0xdb0cf3e2
mov dword [0x4964e0], eax
jmp 0x402460
mov eax, dword [0x48fcf4]
add eax, 0xaaddd09c
mov dword [0x48fcf4], eax
mov eax, dword [0x494d48]
not eax
and eax, 0x7413b6ca
mov ecx, dword [0x48dbd0]
or ecx, eax
mov dword [0x48dbd0], ecx
mov eax, dword [esp + 0x40]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.00436780
mov eax, dword [0x493a20]
and eax, 0xbffd5f7f
mov dword [0x493a20], eax
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044a860
mov eax, dword [0x48f824]
sar eax, 5
add eax, 0x595d5492
mov ecx, dword [0x492944]
xor ecx, eax
mov dword [0x492944], ecx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044a860
mov dx, word [0x499bde]
mov ax, dx
imul eax, eax, 0x9d3943c9
mov dx, ax
mov word [0x499bde], dx
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044a860
mov eax, dword [0x48b9c8]
mov ecx, eax
dec ecx
mov dword [0x48b9c8], ecx
and eax, 0xca42
mov dx, word [0x4982f4]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4982f4], dx
add esp, 0x7c
pop esi
pop edi
pop ebx
ret