Function at 0x409000
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x228
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [0x501478]
mov esi, dword [0x501474]
mov edi, edx
sub edi, 0xedf9a01e
sub edi, 1
add edi, 0xedf9a01e
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
and bl, 1
mov byte [ebp - 0x3a], bl
cmp esi, 0xa
setl bl
and bl, 1
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x40], 0x92102cda
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x40]
mov ecx, eax
sub ecx, 0x6f335ebf
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], ecx
jg 0x409653
jmp 0x409082
mov eax, dword [ebp - 0x4c]
sub eax, 0x6ba88abc
mov dword [ebp - 0x54], eax
jg 0x40963a
jmp 0x409098
mov eax, dword [ebp - 0x4c]
sub eax, 0x69a0f41a
mov dword [ebp - 0x58], eax
jg 0x409621
jmp 0x4090ae
mov eax, dword [ebp - 0x4c]
sub eax, 0x5fe75aa8
mov dword [ebp - 0x5c], eax
jg 0x409608
jmp 0x4090c4
mov eax, dword [ebp - 0x4c]
sub eax, 0x5272f8fd
mov dword [ebp - 0x60], eax
jg 0x4095ef
jmp 0x4090da
mov eax, dword [ebp - 0x4c]
sub eax, 0x4b461916
mov dword [ebp - 0x64], eax
jg 0x4095d6
jmp 0x4090f0
mov eax, dword [ebp - 0x4c]
sub eax, 0x48f9112f
mov dword [ebp - 0x68], eax
jg 0x4095bd
jmp 0x409106
mov eax, dword [ebp - 0x4c]
sub eax, 0x36f7e3c3
mov dword [ebp - 0x6c], eax
jg 0x4095a4
jmp 0x40911c
mov eax, dword [ebp - 0x4c]
sub eax, 0x301524c1
mov dword [ebp - 0x70], eax
jg 0x40958b
jmp 0x409132
mov eax, dword [ebp - 0x4c]
sub eax, 0x2f2885eb
mov dword [ebp - 0x74], eax
jg 0x409572
jmp 0x409148
mov eax, dword [ebp - 0x4c]
sub eax, 0x2c5bfe0c
mov dword [ebp - 0x78], eax
jg 0x409559
jmp 0x40915e
mov eax, dword [ebp - 0x4c]
sub eax, 0x2b2e189c
mov dword [ebp - 0x7c], eax
jg 0x409540
jmp 0x409174
mov eax, dword [ebp - 0x4c]
sub eax, 0x2997bf3d
mov dword [ebp - 0x80], eax
jg 0x409527
jmp 0x40918a
mov eax, dword [ebp - 0x4c]
sub eax, 0xf89ac0aa
mov dword [ebp - 0x84], eax
jg 0x40950e
jmp 0x4091a3
mov eax, dword [ebp - 0x4c]
sub eax, 0xf4b46a81
mov dword [ebp - 0x88], eax
jg 0x4094f5
jmp 0x4091bc
mov eax, dword [ebp - 0x4c]
sub eax, 0xed29a1a9
mov dword [ebp - 0x8c], eax
jg 0x4094dc
jmp 0x4091d5
mov eax, dword [ebp - 0x4c]
sub eax, 0xdcc3b592
mov dword [ebp - 0x90], eax
jg 0x4094c3
jmp 0x4091ee
mov eax, dword [ebp - 0x4c]
sub eax, 0x82a57ef6
mov dword [ebp - 0x94], eax
jg 0x409220
jmp 0x409207
mov eax, dword [ebp - 0x4c]
sub eax, 0x825a94c2
mov dword [ebp - 0x98], eax
je 0x409d11
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xcf017c95
mov dword [ebp - 0x9c], eax
jg 0x4094aa
jmp 0x409239
mov eax, dword [ebp - 0x4c]
sub eax, 0xced3cf5e
mov dword [ebp - 0xa0], eax
jg 0x409491
jmp 0x409252
mov eax, dword [ebp - 0x4c]
sub eax, 0xcb9645db
mov dword [ebp - 0xa4], eax
jg 0x409478
jmp 0x40926b
mov eax, dword [ebp - 0x4c]
sub eax, 0xca916e6c
mov dword [ebp - 0xa8], eax
jg 0x40945f
jmp 0x409284
mov eax, dword [ebp - 0x4c]
sub eax, 0xc667478b
mov dword [ebp - 0xac], eax
jg 0x409446
jmp 0x40929d
mov eax, dword [ebp - 0x4c]
sub eax, 0xbf36230e
mov dword [ebp - 0xb0], eax
jg 0x40942d
jmp 0x4092b6
mov eax, dword [ebp - 0x4c]
sub eax, 0xbf236756
mov dword [ebp - 0xb4], eax
jg 0x409414
jmp 0x4092cf
mov eax, dword [ebp - 0x4c]
sub eax, 0xbb99e1da
mov dword [ebp - 0xb8], eax
jg 0x4093fb
jmp 0x4092e8
mov eax, dword [ebp - 0x4c]
sub eax, 0xb0ad7418
mov dword [ebp - 0xbc], eax
jg 0x4093e2
jmp 0x409301
mov eax, dword [ebp - 0x4c]
sub eax, 0xaddffc16
mov dword [ebp - 0xc0], eax
jg 0x4093c9
jmp 0x40931a
mov eax, dword [ebp - 0x4c]
sub eax, 0xa52d79bd
mov dword [ebp - 0xc4], eax
jg 0x4093b0
jmp 0x409333
mov eax, dword [ebp - 0x4c]
sub eax, 0x9eeddc00
mov dword [ebp - 0xc8], eax
jg 0x409397
jmp 0x40934c
mov eax, dword [ebp - 0x4c]
sub eax, 0x82a57ef7
mov dword [ebp - 0xcc], eax
je 0x409c01
jmp 0x409365
mov eax, dword [ebp - 0x4c]
sub eax, 0x82a81f2a
mov dword [ebp - 0xd0], eax
je 0x409d1d
jmp 0x40937e
mov eax, dword [ebp - 0x4c]
sub eax, 0x92102cda
mov dword [ebp - 0xd4], eax
je 0x409671
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x9eeddc01
mov dword [ebp - 0xd8], eax
je 0x40a469
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xa52d79be
mov dword [ebp - 0xdc], eax
je 0x40a0de
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xaddffc17
mov dword [ebp - 0xe0], eax
je 0x409f0b
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xb0ad7419
mov dword [ebp - 0xe4], eax
je 0x40a07f
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xbb99e1db
mov dword [ebp - 0xe8], eax
je 0x409fa1
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xbf236757
mov dword [ebp - 0xec], eax
je 0x40a417
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xbf36230f
mov dword [ebp - 0xf0], eax
je 0x409a6d
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xc667478c
mov dword [ebp - 0xf4], eax
je 0x409eff
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xca916e6d
mov dword [ebp - 0xf8], eax
je 0x40a024
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xcb9645dc
mov dword [ebp - 0xfc], eax
je 0x40a0f7
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xced3cf5f
mov dword [ebp - 0x100], eax
je 0x40a3f9
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xcf017c96
mov dword [ebp - 0x104], eax
je 0x409da7
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xdcc3b593
mov dword [ebp - 0x108], eax
je 0x409bf5
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xed29a1aa
mov dword [ebp - 0x10c], eax
je 0x40998e
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xf4b46a82
mov dword [ebp - 0x110], eax
je 0x409982
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0xf89ac0ab
mov dword [ebp - 0x114], eax
je 0x40a018
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x2997bf3e
mov dword [ebp - 0x118], eax
je 0x409dd3
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x2b2e189d
mov dword [ebp - 0x11c], eax
je 0x40a0ea
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x2c5bfe0d
mov dword [ebp - 0x120], eax
je 0x40a48e
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x2f2885ec
mov dword [ebp - 0x124], eax
je 0x40a49a
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x301524c2
mov dword [ebp - 0x128], eax
je 0x409c97
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x36f7e3c4
mov dword [ebp - 0x12c], eax
je 0x409a52
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x48f91130
mov dword [ebp - 0x130], eax
je 0x4096d2
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x4b461917
mov dword [ebp - 0x134], eax
je 0x409b0d
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x5272f8fe
mov dword [ebp - 0x138], eax
je 0x409d32
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x5fe75aa9
mov dword [ebp - 0x13c], eax
je 0x409e69
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x69a0f41b
mov dword [ebp - 0x140], eax
je 0x40a4bc
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x6ba88abd
mov dword [ebp - 0x144], eax
je 0x409d51
jmp 0x40966c
mov eax, dword [ebp - 0x4c]
sub eax, 0x6f335ec0
mov dword [ebp - 0x148], eax
je 0x4099e4
jmp 0x40966c
jmp 0x40a4cc
mov eax, 0xcb9645dc
mov ecx, 0x48f91130
mov dl, 1
mov dh, byte [ebp - 0x3a]
mov bl, byte [ebp - 0x39]
mov bh, dh
xor bh, 1
mov dword [ebp - 0x14c], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [ebp - 0x14d], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x14d]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x14c]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov eax, 4
mov dword [ebp - 0x154], eax
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x15c], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x160], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x164], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x168], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x154]
call fcn.004ddc10
mov eax, dword [ebp - 0x160]
mov ecx, esp
mov edx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x154]
mov dword [ebp - 0x16c], eax
mov eax, edi
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x178], esi
call fcn.004ddc10
mov eax, dword [ebp - 0x168]
mov ecx, esp
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x44]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x48]
mov dword [ecx], edi
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x180], edx
call fcn.00417860
mov ecx, 0xcb9645dc
mov edx, 0xf4b46a82
mov esi, 0
mov edi, dword [ebp - 0x180]
mov dword [edi], eax
mov eax, dword [ebp - 0x178]
mov dword [eax], 0
mov ebx, dword [ebp - 0x16c]
mov dword [ebx], 0
mov eax, dword [ebp - 0x174]
mov dword [eax], 0
mov eax, dword [ebp - 0x17c]
mov dword [eax], 0
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
mov eax, dword [edi]
mov edi, dword [ebp - 0x20]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [ebp - 0x178]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [edi]
add eax, dword [edi + 0x3c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [ebx]
add eax, dword [edi + 0x78]
mov edi, dword [ebp - 0x17c]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [edi]
add eax, dword [edi + 0x20]
mov edi, dword [ebp - 0x2c]
mov dword [edi], eax
mov eax, dword [ebp - 0x17c]
mov edi, dword [eax]
mov edi, dword [edi + 0x18]
mov eax, dword [ebp - 0x18]
mov dword [eax], edi
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [ebp - 0x17c]
mov edi, dword [edi]
add eax, dword [edi + 0x24]
mov edi, dword [ebp - 0x24]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edi, dword [ebp - 0x17c]
mov edi, dword [edi]
add eax, dword [edi + 0x1c]
mov edi, dword [ebp - 0x28]
mov dword [edi], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov eax, dword [0x501478]
mov edi, dword [0x501474]
sub esi, 1
mov ebx, eax
add ebx, esi
imul eax, ebx
and eax, 1
cmp eax, 0
sete al
cmp edi, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
cmovne ecx, edx
mov dword [ebp - 0x40], ecx
jmp 0x40a4cc
mov dword [ebp - 0x40], 0xed29a1aa
jmp 0x40a4cc
mov eax, 0xced3cf5f
mov ecx, 0x6f335ec0
mov edx, 0
mov esi, dword [0x501478]
mov edi, dword [0x501474]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov eax, 0xced3cf5f
mov ecx, 0x36f7e3c4
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
mov esi, dword [ebp - 0x34]
cmp edx, dword [esi]
setb bl
and bl, 1
mov byte [ebp - 0xd], bl
mov edx, dword [0x501478]
mov esi, dword [0x501474]
mov edi, edx
sub edi, 0x7223c18f
sub edi, 1
add edi, 0x7223c18f
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov eax, 0x82a81f2a
mov ecx, 0xbf36230f
mov dl, byte [ebp - 0xd]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov eax, 0xbf236757
mov ecx, 0x4b461917
mov dl, 1
mov esi, 0
mov edi, dword [0x501478]
mov ebx, dword [0x501474]
sub esi, 1
mov dword [ebp - 0x184], eax
mov eax, edi
add eax, esi
imul edi, eax
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
xor ah, 1
mov bl, al
xor bl, 1
xor dl, 0
mov bh, ah
and bh, 0
and dh, dl
mov byte [ebp - 0x185], al
mov al, bl
and al, 0
mov byte [ebp - 0x186], al
mov al, byte [ebp - 0x185]
and al, dl
or bh, dh
mov dh, byte [ebp - 0x186]
or dh, al
xor bh, dh
or ah, bl
xor ah, 1
or dl, 0
and ah, dl
or bh, ah
test bh, 1
mov esi, dword [ebp - 0x184]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov eax, 0xbf236757
mov ecx, 0xdcc3b593
mov dl, 1
mov esi, 0xffffffff
mov edi, dword [ebp - 0x14]
mov edi, dword [edi]
mov ebx, dword [ebp - 0x30]
mov ebx, dword [ebx]
mov dword [ebp - 0x18c], eax
movsx eax, byte [ebx + edi]
mov dword [ebp - 0x190], eax
xor eax, 0xffffffff
and eax, 0xe3
xor esi, 0xe3
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x190]
and eax, esi
mov esi, dword [ebp - 0x194]
or esi, eax
mov eax, esi
mov dh, al
mov byte [ebx + edi], dh
mov eax, dword [0x501478]
mov esi, dword [0x501474]
mov edi, eax
sub edi, 0xe0864a9a
sub edi, 1
add edi, 0xe0864a9a
imul eax, edi
and eax, 1
cmp eax, 0
sete dh
cmp esi, 0xa
setl al
mov ah, dh
xor ah, 1
mov bl, al
xor bl, 1
xor dl, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [ebp - 0x195], al
mov al, bl
and al, 1
mov byte [ebp - 0x196], al
mov al, byte [ebp - 0x195]
and al, dl
or bh, dh
mov dh, byte [ebp - 0x196]
or dh, al
xor bh, dh
or ah, bl
xor ah, 1
or dl, 1
and ah, dl
or bh, ah
test bh, 1
mov esi, dword [ebp - 0x18c]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov dword [ebp - 0x40], 0x82a57ef7
jmp 0x40a4cc
mov eax, 0x9eeddc01
mov ecx, 0x301524c2
mov dl, 1
mov esi, dword [0x501478]
mov edi, dword [0x501474]
mov ebx, esi
sub ebx, 0x7a868474
sub ebx, 1
add ebx, 0x7a868474
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x19c], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [ebp - 0x19d], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x19d]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x19c]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov eax, 0x9eeddc01
mov ecx, 0x825a94c2
mov edx, 0
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, edx
sub edi, esi
mov esi, edx
sub esi, 1
add edi, esi
sub edx, edi
mov esi, dword [ebp - 0x14]
mov dword [esi], edx
mov edx, dword [0x501478]
mov esi, dword [0x501474]
mov edi, edx
add edi, 0xe5ff9173
sub edi, 1
sub edi, 0xe5ff9173
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov dword [ebp - 0x40], 0xed29a1aa
jmp 0x40a4cc
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x40], 0x5272f8fe
jmp 0x40a4cc
mov eax, 0xca916e6d
mov ecx, 0x6ba88abd
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
mov esi, dword [ebp - 0x18]
cmp edx, dword [esi]
cmovb eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00411510
add esp, 0xc
mov ecx, 0xcf017c96
mov edx, 0x2997bf3e
cmp eax, 0
cmovne ecx, edx
mov dword [ebp - 0x40], ecx
jmp 0x40a4cc
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
movzx ecx, word [edx + ecx*2]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov dword [ebp - 0x40], 0x2b2e189d
jmp 0x40a4cc
mov eax, 0x2c5bfe0d
mov ecx, 0x5fe75aa9
mov dl, 1
mov esi, dword [0x501478]
mov edi, dword [0x501474]
mov ebx, esi
add ebx, 0xdede6896
sub ebx, 1
sub ebx, 0xdede6896
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x1a4], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [ebp - 0x1a5], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x1a5]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x1a4]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov eax, 0x2c5bfe0d
mov ecx, 0xc667478c
mov dl, 1
mov esi, dword [0x501478]
mov edi, dword [0x501474]
mov ebx, esi
sub ebx, 0x394bddfe
sub ebx, 1
add ebx, 0x394bddfe
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x1ac], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [ebp - 0x1ad], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x1ad]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x1ac]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov dword [ebp - 0x40], 0xaddffc17
jmp 0x40a4cc
mov eax, 0x2f2885ec
mov ecx, 0xbb99e1db
mov dl, 1
mov esi, dword [0x501478]
mov edi, dword [0x501474]
mov ebx, esi
sub ebx, 0xf520d1c
sub ebx, 1
add ebx, 0xf520d1c
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x1b4], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [ebp - 0x1b5], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x1b5]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x1b4]
cmovne esi, ecx
mov dword [ebp - 0x40], esi
jmp 0x40a4cc
mov eax, 0x2f2885ec
mov ecx, 0xf89ac0ab
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
add edx, 0xd68dcd04
add edx, 1
sub edx, 0xd68dcd04
mov esi, dword [ebp - 0x14]
mov dword [esi], edx
mov edx, dword [0x501478]
mov esi, dword [0x501474]
mov edi, edx
sub edi, 0x5c61c844
sub edi, 1
add edi, 0x5c61c844
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov dword [ebp - 0x40], 0x5272f8fe
jmp 0x40a4cc
mov eax, 0x69a0f41b
mov ecx, 0xb0ad7419
mov edx, dword [0x501478]
mov esi, dword [0x501474]
mov edi, edx
sub edi, 0x40f3e368
sub edi, 1
add edi, 0x40f3e368
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov eax, 0x69a0f41b
mov ecx, 0xa52d79be
mov edx, 0
mov esi, dword [ebp - 0x38]
mov dword [esi], 0
mov esi, dword [0x501478]
mov edi, dword [0x501474]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x40a4cc
mov dword [ebp - 0x40], 0x2b2e189d
jmp 0x40a4cc
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 4
mov dword [ebp - 0x1bc], eax
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c4], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c8], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1cc], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d0], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d4], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d8], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1dc], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1e0], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1e4], eax
mov eax, edx
mov dword [ebp - 0x1e8], ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1ec], eax
mov eax, ecx
call fcn.004ddc10
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1c4]
mov edx, esp
mov esi, dword [ebp - 0x1bc]
mov dword [ebp - 0x1f0], eax
mov eax, esi
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f8], edx
call fcn.004ddc10
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, esp
mov esi, dword [ebp - 0x1bc]
mov dword [ebp - 0x1fc], eax
mov eax, esi
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x204], edx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x208], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1bc]
mov dword [ebp - 0x20c], eax
mov eax, esi
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], edx
call fcn.004ddc10
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1c8]
mov edx, esp
mov esi, dword [ebp - 0x208]
mov edi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1f8]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x21c], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x22c], ebx
call fcn.00417860
mov ecx, dword [ebp - 0x214]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e8]
mov dword [eax], 0
mov edx, dword [ebp - 0x220]
mov dword [edx], 0
mov esi, dword [ebp - 0x1fc]
mov dword [esi], 0
mov edi, dword [ebp - 0x200]
mov dword [edi], 0
mov ebx, dword [ebp - 0x210]
mov dword [ebx], 0
mov eax, dword [ebp - 0x218]
mov dword [eax], 0
mov eax, dword [ebp - 0x1f0]
mov dword [eax], 0
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x204]
mov dword [eax], 0
mov eax, dword [ebp - 0x224]
mov dword [eax], 0
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x1e8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x3c]
mov dword [edx], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
mov eax, dword [edx]
add ecx, dword [eax + 0x78]
mov dword [edi], ecx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
mov eax, dword [edi]
add ecx, dword [eax + 0x20]
mov dword [ebx], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x224]
mov dword [ecx], eax
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
mov ecx, dword [edi]
add eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x1f0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
mov ecx, dword [edi]
add eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x218]
mov dword [ecx], eax
mov eax, dword [ebp - 0x228]
mov dword [eax], 0
mov dword [ebp - 0x40], 0x48f91130
jmp 0x40a4cc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x40], 0x6f335ec0
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x234], ecx
jmp 0x40a4cc
mov eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
movsx esi, byte [edx + ecx]
mov edi, esi
xor edi, 0xffffffff
and edi, 0xe2de29db
mov ebx, eax
xor ebx, 0xe2de29db
and esi, ebx
xor eax, 0xe3
and eax, 0xe2de29db
and ebx, 0xe3
or edi, esi
or eax, ebx
xor edi, eax
mov eax, edi
mov byte [edx + ecx], al
mov dword [ebp - 0x40], 0x4b461917
jmp 0x40a4cc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
add eax, 0xe573dd98
add eax, 1
sub eax, 0xe573dd98
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ebp - 0x40], 0x301524c2
jmp 0x40a4cc
mov dword [ebp - 0x40], 0x5fe75aa9
jmp 0x40a4cc
mov eax, 0
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
sub eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov dword [ebp - 0x40], 0xbb99e1db
jmp 0x40a4cc
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
mov dword [ebp - 0x40], 0xb0ad7419
jmp 0x409066