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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, ecx
mov bl, byte [ebp + 0xc]
mov eax, dword [0x44fb5c]
movzx ecx, word [0x445d34]
or ecx, eax
mov word [0x445d34], cx
movsx eax, word [0x441724]
shl eax, 8
cmp eax, 0x7fe1bb97
jl 0x421396
mov eax, dword [0x451f18]
shr eax, 2
xor eax, 0x2159
mov ecx, dword [0x453530]
or ecx, eax
movzx eax, word [0x4452e2]
and eax, ecx
mov word [0x4452e2], ax
push 0
call sub.msvcrt.dll_time
add esp, 4
mov edi, eax
mov eax, dword [0x44dc64]
lea ecx, [eax - 1]
mov dword [0x44dc64], ecx
and eax, dword [0x4536cc]
and eax, 0x48ad02d4
mov dword [0x4536cc], eax
movsx eax, word [0x44302e]
shl eax, 6
add eax, 0x323a433f
and eax, 0x21437021
xor dword [0x451c84], eax
push esi
call dword [0x43f1b8]
mov eax, dword [0x4482e0]
lea ecx, [eax + 1]
mov dword [0x4482e0], ecx
add eax, dword [0x4575f0]
and dword [0x4499c0], eax
test bl, bl
je 0x42142b
movsx eax, word [0x443828]
add eax, eax
xor dword [0x451c34], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
imul eax, dword [0x44bbbc], 0xb441f370
mov dword [0x44e550], eax
movsx eax, word [0x440b28]
mov ecx, 0x48656a09
sub ecx, eax
cmp ecx, 0x1a240781
jl 0x42144a
or word [0x446b9e], 0x200e
mov dword [esp + 0x1c], edi
mov ecx, edi
sar ecx, 0x1f
mov dword [esp + 0x18], ecx
cmp dword [esi + 0x18], edi
setbe al
cmp dword [esi + 0x1c], ecx
setbe cl
je 0x421467
mov al, cl
mov ecx, dword [ebp + 8]
test al, al
jne 0x4214ca
and word [0x441570], 0x4ce8
movsd xmm0, qword [esi + 0x20]
movsd xmm1, qword [esi + 0x28]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
movsx eax, word [0x443d72]
mov ecx, dword [0x448ae4]
lea edx, [ecx - 1]
mov dword [0x448ae4], edx
xor ecx, 0xc43d26c0
or ecx, eax
mov eax, dword [0x449ca0]
lea edx, [eax + 1]
mov dword [0x449ca0], edx
add eax, 0x4b6fc5c
cmp ecx, eax
jne 0x4214f7
xor word [0x444766], 0x9730
jmp 0x4214fe
mov eax, 0x37f66ad
sub eax, dword [0x44ba18]
imul eax, dword [0x457e64]
mov dword [0x457e64], eax
or dword [0x4540b0], 0x6a3818e3
mov dword [esp + 0x14], 0
mov bl, 1
jmp 0x421519
dec word [0x446ef2]
mov eax, 0x3711b38d
sub eax, dword [0x44b598]
add dword [0x454a14], eax
mov dword [esp + 0x14], 1
xor ebx, ebx
mov eax, dword [0x4507a8]
lea ecx, [eax - 1]
mov dword [0x4507a8], ecx
movzx ecx, word [0x447270]
sub ecx, eax
mov word [0x447270], cx
push esi
call dword [0x43f1bc]
mov eax, dword [0x451e3c]
movzx ecx, word [0x446fe8]
dec ecx
mov word [0x446fe8], cx
imul ecx, eax
add ecx, 0x692c
movzx eax, word [0x443af8]
and eax, ecx
mov word [0x443af8], ax
test bl, bl
je 0x4227f5
imul ax, word [0x4421e2], 0xa3b1
mov word [0x4421e2], ax
add word [0x447702], 0x4740
mov eax, dword [0x457d20]
inc eax
mov dword [0x457d20], eax
and eax, dword [0x4519cc]
add dword [0x44b3b4], eax
push 0x600
push 0x14c7
call fcn.004103ea
add esp, 8
mov edi, eax
movsx eax, word [0x445146]
and dword [0x44ba14], eax
movzx ebx, byte [edi]
or dword [0x453f88], 0xbf340fe4
movzx eax, word [0x4403c4]
lea ecx, [eax + 1]
mov word [0x4403c4], cx
xor eax, 0xaf16
or word [0x4400ee], ax
xorpd xmm0, xmm0
movapd xmmword [esp + 0x70], xmm0
and dword [0x456b0c], 0x628bfcf2
mov word [esp + 0x70], 2
mov eax, dword [0x44f034]
mov eax, dword [0x44e638]
inc eax
mov dword [0x44e638], eax
movsx ecx, word [0x441da0]
not ecx
and ecx, eax
or ecx, 0xe5180e16
xor dword [0x447894], ecx
mov eax, 0x5da187dc
xor eax, dword [0x456570]
imul eax, dword [0x451c28]
mov dword [0x451c28], eax
mov dword [esp + 0x5c], 0x13
mov dword [0x44b788], 0x5dfa5530
mov dword [esp + 0x60], 0
mov ax, word [0x443b30]
or word [0x44295a], ax
mov dword [esp + 0x64], 7
mov eax, dword [0x4544fc]
imul eax, dword [0x449ca4]
mov dword [0x449ca4], eax
mov byte [esp + 0x68], 3
dec dword [0x44c6dc]
lea ecx, [esp + 0x48]
call fcn.00425568
xor dword [0x456078], 0x665c3eb9
mov eax, dword [0x44cb28]
lea ecx, [eax - 1]
mov dword [0x44cb28], ecx
mov ecx, dword [0x456468]
inc ecx
mov dword [0x456468], ecx
imul ecx, ecx, 0x8d6dda0
or ecx, eax
cmp ecx, 0x6b0cab7d
jl 0x4216f0
imul eax, dword [0x452714], 0x81c7fe8a
cmp eax, 0x5ef0f73b
jg 0x421710
imul eax, dword [0x453920], 0x92bae48c
mov dword [0x453920], eax
jmp 0x421721
mov eax, dword [0x449284]
mov ecx, dword [0x44d1b4]
shl ecx, 9
or ecx, eax
cmp ecx, 0x5ee61823
je 0x421721
inc dword [0x44bc70]
jmp 0x421721
mov eax, 0x6d5b3050
and eax, dword [0x447cb4]
or dword [0x4523bc], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov eax, 0x8bd55027
xor eax, dword [0x452994]
add dword [0x454ff8], eax
add dword [0x44a7fc], 0x2c0415e0
lea eax, [ebx*4]
lea ecx, [esp + 0x48]
push 0
push eax
call fcn.0040aac2
mov eax, dword [0x4563d4]
mov ecx, 0x4cc9b2d0
sub ecx, eax
movsx eax, word [0x444b70]
add eax, 0xc338986f
cmp ecx, eax
jle 0x421782
imul ax, word [0x441bc0], 0x5c63
mov word [0x441bc0], ax
imul ax, word [0x44620e], 0xa810
mov word [0x44620e], ax
test bl, bl
je 0x4219c9
xor esi, esi
mov eax, dword [0x44a138]
dec eax
mov dword [0x44a138], eax
mov ecx, dword [0x455c98]
and ecx, eax
or ecx, 0x3861cda4
mov eax, dword [0x44c118]
lea edx, [eax - 1]
mov dword [0x44c118], edx
add eax, 0x359f11dd
and eax, 0x426ea3d9
cmp ecx, eax
jle 0x4217dc
mov eax, dword [0x447a9c]
mov dword [0x4515cc], eax
jmp 0x4217e5
and word [0x443cfe], 0xd4bf
movsx eax, word [0x445416]
add eax, 0xac4f7f26
and eax, 0xce067114
imul eax, dword [0x45551c]
mov dword [0x45551c], eax
movsx eax, word [0x441d34]
xor eax, 0xd0d67c02
or dword [0x454fc0], eax
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
mov eax, dword [esp + 0x50]
add eax, 4
lea ecx, [esp + 0x48]
push 0
push eax
call fcn.0040aac2
xor dword [0x4555f0], 0xc1458963
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
mov eax, dword [esp + 0x50]
add eax, 4
mov ecx, dword [0x44f2fc]
cmp ecx, 0x49197b75
je 0x421877
add word [0x4436be], 0xe807
mov dword [esp + 0x50], eax
add word [0x444532], 0x4826
mov eax, dword [0x44c4a8]
and eax, 0xa0c24408
or eax, 0x5b182a73
mov ecx, dword [0x44ea2c]
movsx edx, word [0x4476f6]
add ecx, 0x79265b2f
sub ecx, edx
cmp eax, ecx
je 0x4218b6
and dword [0x45226c], 0xa76bd507
mov eax, dword [0x4516fc]
or dword [0x4563a0], 0xa290edb2
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
mov eax, dword [esp + 0x50]
add dword [0x4484b4], 0x3929f676
mov ecx, dword [0x44d67c]
inc ecx
mov dword [0x44d67c], ecx
mov word [0x43f934], cx
mov ecx, dword [0x4558c4]
mov edx, dword [0x44a4f0]
sub ecx, edx
mov edx, dword [0x449d64]
lea edi, [edx + 1]
mov dword [0x449d64], edi
xor ecx, edx
movzx edx, word [0x445026]
or edx, ecx
mov word [0x445026], dx
mov ecx, dword [0x4571a0]
shl ecx, 3
cmp ecx, 0xbb4cafd5
jl 0x421958
movsx ecx, word [0x43f798]
lea edx, [ecx + 1]
mov word [0x43f798], dx
add ecx, 0x3350eca5
or dword [0x44983c], ecx
mov dword [0x448a58], 0x32373f9b
mov ecx, dword [0x44d454]
lea edx, [ecx - 1]
mov dword [0x44d454], edx
imul ecx, ecx, 0xd4416242
xor dword [0x4534a4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [ecx + eax - 4], esi
mov eax, dword [0x44cc78]
dec eax
mov dword [0x44cc78], eax
or eax, 0xdff3bbb1
cmp eax, dword [0x44ebe4]
jge 0x4219b6
movzx eax, word [0x443866]
lea eax, [eax + eax*8]
shl eax, 6
add eax, 0x77f3
xor word [0x441e6c], ax
add dword [0x448da8], 0xa581b69
inc esi
cmp ebx, esi
jne 0x42179b
mov word [0x442f44], 0x2ca3
mov eax, dword [0x4558c4]
mov ecx, dword [0x44a4f0]
sub eax, ecx
mov ecx, dword [0x449d64]
lea edx, [ecx + 1]
mov dword [0x449d64], edx
xor eax, ecx
movzx ecx, word [0x445026]
or ecx, eax
mov word [0x445026], cx
mov eax, dword [0x4571a0]
shl eax, 3
cmp eax, 0xbb4cafd5
jl 0x421a2b
movsx eax, word [0x43f798]
lea ecx, [eax + 1]
mov word [0x43f798], cx
add eax, 0x3350eca5
or dword [0x44983c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4516fc]
or dword [0x4563a0], 0xa290edb2
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
mov ecx, dword [esp + 0x50]
add dword [0x4484b4], 0x3929f676
mov edx, dword [0x44d67c]
inc edx
mov dword [0x44d67c], edx
mov word [0x43f934], dx
mov edx, dword [0x4558c4]
mov esi, dword [0x44a4f0]
sub edx, esi
mov esi, dword [0x449d64]
lea edi, [esi + 1]
mov dword [0x449d64], edi
xor edx, esi
movzx esi, word [0x445026]
or esi, edx
mov word [0x445026], si
mov edx, dword [0x4571a0]
shl edx, 3
cmp edx, 0xbb4cafd5
mov edi, dword [esp + 0x28]
jl 0x421afa
movsx edx, word [0x43f798]
lea esi, [edx + 1]
mov word [0x43f798], si
add edx, 0x3350eca5
or dword [0x44983c], edx
mov dword [0x448a58], 0x32373f9b
mov edx, dword [0x44d454]
lea esi, [edx - 1]
mov dword [0x44d454], esi
imul edx, edx, 0xd4416242
xor dword [0x4534a4], edx
add ecx, dword [esp + 0x4c]
push ecx
push eax
call fcn.00436606
add esp, 8
mov dword [esp + 0x24], ebx
test bl, bl
mov eax, dword [0x449cf4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
je 0x4224d1
xor ebx, ebx
lea esi, [esp + 0x34]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], 0
jmp 0x421dec
imul ax, word [0x443906], 0x685c
mov word [0x443906], ax
mov eax, dword [0x451c70]
mov ecx, dword [0x453144]
inc ecx
mov dword [0x453144], ecx
movzx edx, word [0x444dc8]
sub ecx, eax
add ecx, edx
mov word [0x444dc8], cx
movsx eax, word [0x4428ba]
sar eax, 3
imul eax, eax, 0x4b0cff2c
add eax, 0xb86c28bf
imul eax, dword [0x44b8d8]
mov dword [0x44b8d8], eax
movsx eax, word [0x44641e]
sar eax, 8
xor eax, 0xf58abf08
sub dword [0x4569b4], eax
push 0x408
push 0x4a27
call fcn.004103ea
add esp, 8
mov edi, eax
mov eax, dword [0x44cfb8]
imul eax, dword [0x45147c]
mov dword [0x45147c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x38]
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
push dword [esp + 0x3c]
push eax
push edi
call fcn.0041497c
add esp, 0xc
mov esi, eax
mov eax, dword [0x44dd18]
shl eax, 8
add eax, 0x6b3639e2
movzx ecx, word [0x441e74]
imul ecx, eax
mov word [0x441e74], cx
push edi
push 0x408
call fcn.0040d60f
add esp, 8
mov eax, dword [0x4574d0]
lea ecx, [eax + 1]
mov dword [0x4574d0], ecx
add eax, 0x1e28600
cmp eax, 0x7d0b1e70
lea edi, [esp + 0x34]
jge 0x421cab
mov eax, dword [0x44d31c]
dec eax
mov dword [0x44d31c], eax
or eax, 0x61f61c9d
xor dword [0x450930], eax
cmp esi, 5
mov edx, dword [esp + 0x20]
jl 0x421cce
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
cmp esi, dword [esp + 0x3c]
jbe 0x421cf6
movsx eax, word [0x443eb8]
sar eax, 3
add eax, 0x914d2c63
xor eax, 0xa23df37e
sub dword [0x44b830], eax
add dword [0x449f90], 0x3ad4a5b
xor esi, esi
jmp 0x421d23
movzx eax, word [0x441eaa]
dec eax
mov word [0x441eaa], ax
cwde
add eax, 0xb1647d38
imul eax, dword [0x453068]
mov dword [0x453068], eax
add esi, 0xfffffffc
xor dword [0x44a100], 0x3c0d684
mov eax, dword [0x44b554]
lea ecx, [eax - 1]
mov dword [0x44b554], ecx
mov ecx, 0xc2b91142
sub ecx, eax
imul ecx, dword [0x44b8c0]
mov dword [0x44b8c0], ecx
add edx, 0xa
cmp esi, edx
jge 0x421d83
imul eax, dword [0x4522b4], 0x6a127194
xor eax, 0xb3db1193
cmp eax, 0xa916d2d9
jg 0x4222a8
movsx eax, word [0x446806]
and eax, 0x283f8795
imul eax, dword [0x453774]
mov dword [0x453774], eax
jmp 0x4222a8
mov eax, dword [0x4573a4]
dec eax
mov dword [0x4573a4], eax
movzx ecx, word [0x443956]
and ecx, eax
mov word [0x443956], cx
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
add dword [0x452cdc], 0xd4ed7202
mov bl, 1
mov dword [esp + 0x20], 0
jmp 0x4224a3
movzx eax, word [0x444bc2]
and eax, 0xca14
xor word [0x447478], ax
mov eax, dword [0x4558c4]
mov ecx, dword [0x44a4f0]
sub eax, ecx
mov ecx, dword [0x449d64]
lea edx, [ecx + 1]
mov dword [0x449d64], edx
xor eax, ecx
movzx ecx, word [0x445026]
or ecx, eax
mov word [0x445026], cx
mov eax, dword [0x4571a0]
shl eax, 3
cmp eax, 0xbb4cafd5
jl 0x421e58
movsx eax, word [0x43f798]
lea ecx, [eax + 1]
mov word [0x43f798], cx
add eax, 0x3350eca5
or dword [0x44983c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + ebx*4]
add eax, eax
lea eax, [eax + eax*2]
or eax, 1
mov eax, dword [edi + eax]
mov dword [esp + 0x74], eax
add dword [0x44ee78], 0x42dff693
mov eax, dword [0x4558c4]
mov ecx, dword [0x44a4f0]
sub eax, ecx
mov ecx, dword [0x449d64]
lea edx, [ecx + 1]
mov dword [0x449d64], edx
xor eax, ecx
movzx ecx, word [0x445026]
or ecx, eax
mov word [0x445026], cx
mov eax, dword [0x4571a0]
shl eax, 3
cmp eax, 0xbb4cafd5
jl 0x421ef5
movsx eax, word [0x43f798]
lea ecx, [eax + 1]
mov word [0x43f798], cx
add eax, 0x3350eca5
or dword [0x44983c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + ebx*4]
add eax, eax
lea eax, [eax + eax*2]
or eax, 1
mov ax, word [eax + edi + 4]
mov word [esp + 0x72], ax
mov eax, dword [0x45671c]
sar eax, 5
mov ecx, dword [0x44c280]
sar ecx, 1
xor ecx, eax
or ecx, 0xf298159
cmp ecx, 0x3b7d23b5
jl 0x421f6d
mov eax, dword [0x452584]
lea ecx, [eax - 1]
mov dword [0x452584], ecx
or eax, 0xc4680e86
add dword [0x44a670], eax
jmp 0x421f87
mov eax, dword [0x456394]
lea ecx, [eax + 1]
mov dword [0x456394], ecx
imul eax, dword [0x450250]
mov dword [0x450250], eax
mov edi, esi
mov ecx, edi
call fcn.00430ef8
and dword [0x456ae4], 0xda89f7dc
mov eax, dword [esp + 0x74]
mov dword [esp + 0x69], eax
mov eax, dword [0x453088]
not eax
mov ecx, dword [0x44f490]
imul eax, eax, 0x7dc7235d
lea eax, [eax + ecx - 0x39f6bf93]
mov dword [0x44f490], eax
mov ax, word [esp + 0x72]
mov word [esp + 0x6d], ax
mov eax, dword [0x4559b4]
cmp eax, 0x69a1add3
jne 0x421fe1
and dword [0x4532f4], 0x6296bc05
mov ecx, edi
push 0x13
lea eax, [esp + 0x60]
push eax
call fcn.00409e78
mov eax, dword [0x44fc68]
lea ecx, [eax + 1]
mov dword [0x44fc68], ecx
or dword [0x456764], eax
mov ecx, dword [esp + 0x2c]
push 0
push 2
push edi
lea eax, [esp + 0x7c]
push eax
call fcn.00420760
test eax, eax
jle 0x422084
mov eax, dword [0x452ae4]
dec eax
mov dword [0x452ae4], eax
and eax, 0x461ff0a2
xor eax, dword [0x44d5d4]
xor eax, 0xfcae4894
mov dword [0x44d5d4], eax
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
cmp dword [esp + 0x3c], 0x400
ja 0x4220e6
mov eax, dword [0x455fb4]
mov ecx, 0xa2e468f5
or eax, ecx
cmp eax, 0xdee99da4
ja 0x4220db
mov dword [esp + 0x30], ebx
add dword [0x4561f8], 0xf42948e9
xor ebx, ebx
jmp 0x4224a3
mov eax, dword [0x44862c]
add eax, 0xeeee2aa8
xor eax, 0x11111d51
mov ecx, dword [0x4510b4]
inc ecx
mov dword [0x4510b4], ecx
xor ecx, 0x10d7642b
cmp eax, ecx
jl 0x4220db
mov eax, dword [0x449538]
mov ecx, 0x785d2246
xor eax, ecx
mov ecx, dword [0x45536c]
mov edx, 0x5d121c00
add ecx, edx
cmp eax, ecx
jle 0x4220db
mov dword [esp + 0x30], ebx
xor word [0x447478], 0xd41c
xor ebx, ebx
jmp 0x4224a3
mov dword [esp + 0x30], ebx
xor ebx, ebx
jmp 0x4224a3
add dword [0x450fbc], 0x1ac8b6db
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
cmp dword [esp + 0x3c], 0x4001
jb 0x422128
mov dword [esp + 0x30], ebx
imul eax, dword [0x45154c], 0x706c3ec4
mov dword [0x45154c], eax
xor ebx, ebx
jmp 0x4224a3
imul ax, word [0x442ec2], 0xd60f
mov word [0x442ec2], ax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
cmp dword [ecx], eax
setae al
mov edx, dword [esp + 0x18]
cmp dword [ecx + 4], edx
setae cl
je 0x422176
mov al, cl
test al, al
mov edx, dword [esp + 0x20]
jne 0x42222a
movsx eax, word [0x445bdc]
sar eax, 8
add eax, 0x85b5566f
imul ecx, dword [0x44fb60], 0xf4723885
cmp eax, ecx
je 0x4221cb
mov eax, dword [0x447dd4]
inc eax
mov dword [0x447dd4], eax
imul eax, eax, 0xf425d0f2
movsx ecx, word [0x442d50]
add ecx, eax
cmp ecx, 0xc2e24ea1
je 0x4221cb
add dword [0x455894], 0xc0e37beb
inc edx
mov eax, dword [0x451ac8]
sar eax, 8
mov ecx, dword [0x4491ac]
not ecx
imul ecx, dword [0x4489e0]
add ecx, eax
cmp ecx, 0xb8ee4b35
je 0x4221fc
imul ax, word [0x4403b2], 0x777b
mov word [0x4403b2], ax
cmp edx, 3
jne 0x4222b7
mov dword [esp + 0x30], ebx
mov eax, dword [0x4535fc]
mov ecx, 0x347ea89c
add eax, ecx
and dword [0x455eec], eax
mov bl, 1
mov dword [esp + 0x20], 3
jmp 0x4224a3
add dword [0x44f7f0], 0xb7803f6e
and word [0x440298], 0xf4fb
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 8]
or word [0x441634], 0xca56
lea ecx, [eax + eax]
lea esi, [ecx + ecx*2]
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
mov ecx, dword [esp + 0x3c]
mov edx, 0xfffffbf6
add ecx, edx
cmp esi, ecx
jbe 0x4222d5
mov dword [esp + 0x30], ebx
or word [0x444ade], 0x515e
mov dword [esp + 0x20], 0
xor ebx, ebx
jmp 0x4224a3
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ebx
imul eax, dword [0x44b8b4], 0x2c30a62
mov dword [0x44b8b4], eax
xor ebx, ebx
jmp 0x4224a3
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebx
mov ecx, dword [0x4574d0]
or ecx, dword [0x457d2c]
or ecx, 0xe101f4dc
mov dword [0x457d2c], ecx
mov ecx, dword [0x452ea0]
movzx edx, word [0x44009e]
shl edx, 4
xor edx, ecx
or edx, 0xc14c
movzx ecx, word [0x444e04]
add ecx, edx
mov word [0x444e04], cx
test ax, ax
je 0x422441
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
add edx, 0xe
mov ebx, dword [0x457f8c]
xor ebx, 0xc7f3
movzx ecx, word [0x43ff46]
and ecx, ebx
mov word [0x43ff46], cx
mov dword [0x448a58], 0x32373f9b
mov ecx, dword [0x44d454]
lea ebx, [ecx - 1]
mov dword [0x44d454], ebx
imul ecx, ecx, 0xd4416242
xor dword [0x4534a4], ecx
cmp esi, dword [edx - 4]
jne 0x4223f3
movzx ecx, word [0x4465bc]
lea ebx, [ecx + 1]
mov word [0x4465bc], bx
imul ecx, ecx, 0xffffca34
xor ecx, 0x4214
or word [0x4439f4], cx
movzx ecx, word [esp + 0x72]
mov dword [0x448a58], 0x32373f9b
mov ebx, dword [0x44d454]
lea edi, [ebx - 1]
mov dword [0x44d454], edi
imul edi, ebx, 0xd4416242
xor dword [0x4534a4], edi
movzx edi, word [edx]
cmp ecx, edi
je 0x421b71
mov ecx, dword [0x44fecc]
cmp ecx, 0xe7c9decc
jl 0x4223e9
or word [0x4460a0], 0xaad5
jmp 0x4223f3
mov dword [0x4544cc], 0xf2dd7a9f
movsx ecx, word [0x44388c]
mov edi, dword [0x4536f8]
lea ebx, [edi + 1]
mov dword [0x4536f8], ebx
mov ebx, dword [0x44b1c0]
not ebx
imul ebx, edi
add ebx, ecx
movsx ecx, word [0x445bb6]
imul ecx, ecx, 0xdb5e8941
xor ecx, 0x8f365631
cmp ebx, ecx
jl 0x422437
mov dword [0x44a9c4], 0xc67eac50
add edx, 6
dec eax
jne 0x422331
movsx eax, word [0x4428ba]
sar eax, 3
imul eax, eax, 0x4b0cff2c
add eax, 0xb86c28bf
imul eax, dword [0x44b8d8]
mov dword [0x44b8d8], eax
mov eax, dword [0x44868c]
cmp eax, 0x4d2e151c
jg 0x422495
movsx eax, word [0x446bd8]
lea ecx, [eax + 1]
mov word [0x446bd8], cx
add eax, 0x94992a17
cmp eax, 0x37a83d08
jg 0x422495
mov eax, dword [0x44c054]
mov eax, dword [0x44e850]
mov dword [esp + 0x20], 0
xor ebx, ebx
lea edi, [esp + 0x34]
mov dword [esp + 0x34], 0x43d0ac
mov ecx, edi
call fcn.004204f8
test bl, bl
jne 0x4224cd
mov esi, edi
mov ebx, dword [esp + 0x30]
inc ebx
cmp ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
jne 0x421dec
jmp 0x4224d1
mov edi, dword [esp + 0x28]
mov eax, 0x14bfc83b
xor eax, dword [0x44d158]
or dword [0x44d668], eax
mov dword [0x44ae0c], 0xc6ed8a2a
mov eax, dword [0x457318]
lea ecx, [eax - 1]
mov dword [0x457318], ecx
and eax, 0x4cc3aeee
add dword [0x457598], eax
xor eax, eax
mov byte [esp + eax + 0x5c], 0
inc eax
cmp eax, 0x13
jne 0x422507
mov eax, dword [0x448008]
lea ecx, [eax - 1]
mov dword [0x448008], ecx
mov ecx, dword [0x44e03c]
lea edx, [ecx + 1]
mov dword [0x44e03c], edx
cmp eax, ecx
jle 0x422548
imul eax, dword [0x45157c], 0xfab98047
mov dword [0x452c0c], eax
mov esi, dword [esp + 0x2c]
jmp 0x422577
mov eax, dword [0x458230]
cmp eax, 0xffcfbff7
mov esi, dword [esp + 0x2c]
jg 0x422577
mov eax, dword [0x45692c]
lea ecx, [eax + 1]
mov dword [0x45692c], ecx
add eax, 0x9c7197dd
imul eax, dword [0x44f13c]
mov dword [0x44f13c], eax
push edi
push 0x600
call fcn.0040d60f
add esp, 8
mov eax, 0x2ce06eaa
and eax, dword [0x44947c]
sub dword [0x451e8c], eax
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0xc]
je 0x422696
movsx eax, word [0x445128]
shr eax, 2
add eax, 0x9394
movzx ecx, word [0x445358]
or ecx, eax
mov word [0x445358], cx
push esi
call dword [0x43f1b8]
inc dword [0x455e38]
mov eax, dword [0x44a594]
lea ecx, [eax + 1]
mov dword [0x44a594], ecx
or eax, 0x697ba236
cmp eax, 0x1f5ea2d8
jg 0x4225f3
mov word [0x43fab8], 0x44a5
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [esi + 0x28], xmm1
movsd qword [esi + 0x20], xmm0
mov eax, 0x7904781c
sub eax, dword [0x44c448]
cmp eax, 0x5f719c29
jl 0x422637
mov eax, dword [0x451560]
mov ecx, dword [0x455c78]
shl ecx, 3
sub eax, ecx
imul eax, dword [0x4577fc]
mov dword [0x4577fc], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x1c], eax
xor dword [0x453888], 0xe835806e
push esi
call dword [0x43f1bc]
inc word [0x443f92]
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
mov eax, dword [ebp + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
and dword [0x455f08], 0x9a0c
imul eax, dword [0x4532c8], 0x15be5927
mov dword [0x4532c8], eax
mov dword [esp + 0x14], 1
mov eax, 0x295493b7
and eax, dword [0x44c800]
xor eax, 0xa9a23509
or dword [0x447b48], eax
mov eax, dword [0x4558c4]
mov ecx, dword [0x44a4f0]
sub eax, ecx
mov ecx, dword [0x449d64]
lea edx, [ecx + 1]
mov dword [0x449d64], edx
xor eax, ecx
movzx ecx, word [0x445026]
or ecx, eax
mov word [0x445026], cx
mov eax, dword [0x4571a0]
shl eax, 3
cmp eax, 0xbb4cafd5
jl 0x422705
movsx eax, word [0x43f798]
lea ecx, [eax + 1]
mov word [0x43f798], cx
add eax, 0x3350eca5
or dword [0x44983c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov eax, dword [0x4516fc]
or dword [0x4563a0], 0xa290edb2
and dword [0x448aa8], 0x881128
add dword [0x4581a8], 0xf04f0fa9
add dword [0x4484b4], 0x3929f676
mov eax, dword [0x44d67c]
inc eax
mov dword [0x44d67c], eax
mov word [0x43f934], ax
mov eax, dword [0x4558c4]
mov ecx, dword [0x44a4f0]
sub eax, ecx
mov ecx, dword [0x449d64]
lea edx, [ecx + 1]
mov dword [0x449d64], edx
xor eax, ecx
movzx ecx, word [0x445026]
or ecx, eax
mov word [0x445026], cx
mov eax, dword [0x4571a0]
shl eax, 3
cmp eax, 0xbb4cafd5
jl 0x4227c0
movsx eax, word [0x43f798]
lea ecx, [eax + 1]
mov word [0x43f798], cx
add eax, 0x3350eca5
or dword [0x44983c], eax
mov dword [0x448a58], 0x32373f9b
mov eax, dword [0x44d454]
lea ecx, [eax - 1]
mov dword [0x44d454], ecx
imul eax, eax, 0xd4416242
xor dword [0x4534a4], eax
mov dword [esp + 0x48], 0x43d0ac
lea ecx, [esp + 0x48]
call fcn.004204f8
mov eax, dword [esp + 0x14]
imul ecx, dword [0x4512e4], 0xbfff7fee
mov dword [0x4512e4], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8