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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4b0
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov ebx, dword [0x4f252c]
mov dword [esi + 0x44c], eax
mov eax, dword [0x4f2528]
mov dword [esi + 0x448], eax
mov eax, ebx
add eax, 0xbe19a707
sub eax, 1
sub eax, 0xbe19a707
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
and al, 1
mov byte [esi + 0x45a], al
mov ebx, dword [esi + 0x448]
cmp ebx, 0xa
setl al
and al, 1
mov byte [esi + 0x45b], al
mov dword [esi + 0x454], 0xdee33b2c
mov dword [esi + 0x444], edi
mov dword [esi + 0x440], ecx
mov dword [esi + 0x43c], edx
mov eax, dword [esi + 0x454]
mov ecx, eax
sub ecx, 0x8bf34d34
mov dword [esi + 0x438], eax
mov dword [esi + 0x434], ecx
jg 0x4c3846
jmp 0x4c382a
mov eax, dword [esi + 0x438]
sub eax, 0x810d2cb8
mov dword [esi + 0x430], eax
je 0x4c696e
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7fe42a50
mov dword [esi + 0x42c], eax
jg 0x4c483e
jmp 0x4c3862
mov eax, dword [esi + 0x438]
sub eax, 0x8f84af79
mov dword [esi + 0x428], eax
jg 0x4c389a
jmp 0x4c387e
mov eax, dword [esi + 0x438]
sub eax, 0x8bf34d35
mov dword [esi + 0x424], eax
je 0x4c4cd1
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7b5fa1f2
mov dword [esi + 0x420], eax
jg 0x4c4822
jmp 0x4c38b6
mov eax, dword [esi + 0x438]
sub eax, 0x8fd40711
mov dword [esi + 0x41c], eax
jg 0x4c38ee
jmp 0x4c38d2
mov eax, dword [esi + 0x438]
sub eax, 0x8f84af7a
mov dword [esi + 0x418], eax
je 0x4c5826
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x907b59b7
mov dword [esi + 0x414], eax
jg 0x4c3926
jmp 0x4c390a
mov eax, dword [esi + 0x438]
sub eax, 0x8fd40712
mov dword [esi + 0x410], eax
je 0x4c5f95
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x9188c1d7
mov dword [esi + 0x40c], eax
jg 0x4c395e
jmp 0x4c3942
mov eax, dword [esi + 0x438]
sub eax, 0x907b59b8
mov dword [esi + 0x408], eax
je 0x4c5bd7
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x958ffb1d
mov dword [esi + 0x404], eax
jg 0x4c3996
jmp 0x4c397a
mov eax, dword [esi + 0x438]
sub eax, 0x9188c1d8
mov dword [esi + 0x400], eax
je 0x4c6846
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x98336c6f
mov dword [esi + 0x3fc], eax
jg 0x4c39ce
jmp 0x4c39b2
mov eax, dword [esi + 0x438]
sub eax, 0x958ffb1e
mov dword [esi + 0x3f8], eax
je 0x4c48c9
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x9e010cf2
mov dword [esi + 0x3f4], eax
jg 0x4c3a06
jmp 0x4c39ea
mov eax, dword [esi + 0x438]
sub eax, 0x98336c70
mov dword [esi + 0x3f0], eax
je 0x4c6873
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xa236aa4f
mov dword [esi + 0x3ec], eax
jg 0x4c3a3e
jmp 0x4c3a22
mov eax, dword [esi + 0x438]
sub eax, 0x9e010cf3
mov dword [esi + 0x3e8], eax
je 0x4c5e6d
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xaac6e76e
mov dword [esi + 0x3e4], eax
jg 0x4c3a76
jmp 0x4c3a5a
mov eax, dword [esi + 0x438]
sub eax, 0xa236aa50
mov dword [esi + 0x3e0], eax
je 0x4c62c8
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xacd49475
mov dword [esi + 0x3dc], eax
jg 0x4c3aae
jmp 0x4c3a92
mov eax, dword [esi + 0x438]
sub eax, 0xaac6e76f
mov dword [esi + 0x3d8], eax
je 0x4c5f86
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xb30c59eb
mov dword [esi + 0x3d4], eax
jg 0x4c3ae6
jmp 0x4c3aca
mov eax, dword [esi + 0x438]
sub eax, 0xacd49476
mov dword [esi + 0x3d0], eax
je 0x4c5bc8
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xb512112a
mov dword [esi + 0x3cc], eax
jg 0x4c3b1e
jmp 0x4c3b02
mov eax, dword [esi + 0x438]
sub eax, 0xb30c59ec
mov dword [esi + 0x3c8], eax
je 0x4c66a2
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xb7eb3450
mov dword [esi + 0x3c4], eax
jg 0x4c3b56
jmp 0x4c3b3a
mov eax, dword [esi + 0x438]
sub eax, 0xb512112b
mov dword [esi + 0x3c0], eax
je 0x4c6133
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xbe6f8930
mov dword [esi + 0x3bc], eax
jg 0x4c3b8e
jmp 0x4c3b72
mov eax, dword [esi + 0x438]
sub eax, 0xb7eb3451
mov dword [esi + 0x3b8], eax
je 0x4c50b3
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xc0f764ae
mov dword [esi + 0x3b4], eax
jg 0x4c3bc6
jmp 0x4c3baa
mov eax, dword [esi + 0x438]
sub eax, 0xbe6f8931
mov dword [esi + 0x3b0], eax
je 0x4c5a45
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xc2e39d82
mov dword [esi + 0x3ac], eax
jg 0x4c3bfe
jmp 0x4c3be2
mov eax, dword [esi + 0x438]
sub eax, 0xc0f764af
mov dword [esi + 0x3a8], eax
je 0x4c4c3c
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xc7345635
mov dword [esi + 0x3a4], eax
jg 0x4c3c36
jmp 0x4c3c1a
mov eax, dword [esi + 0x438]
sub eax, 0xc2e39d83
mov dword [esi + 0x3a0], eax
je 0x4c6942
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xc945a6e0
mov dword [esi + 0x39c], eax
jg 0x4c3c6e
jmp 0x4c3c52
mov eax, dword [esi + 0x438]
sub eax, 0xc7345636
mov dword [esi + 0x398], eax
je 0x4c4e69
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xc993507c
mov dword [esi + 0x394], eax
jg 0x4c3ca6
jmp 0x4c3c8a
mov eax, dword [esi + 0x438]
sub eax, 0xc945a6e1
mov dword [esi + 0x390], eax
je 0x4c670a
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xca2f5a0a
mov dword [esi + 0x38c], eax
jg 0x4c3cde
jmp 0x4c3cc2
mov eax, dword [esi + 0x438]
sub eax, 0xc993507d
mov dword [esi + 0x388], eax
je 0x4c4f8a
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd00be843
mov dword [esi + 0x384], eax
jg 0x4c3d16
jmp 0x4c3cfa
mov eax, dword [esi + 0x438]
sub eax, 0xca2f5a0b
mov dword [esi + 0x380], eax
je 0x4c6722
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd277e443
mov dword [esi + 0x37c], eax
jg 0x4c3d4e
jmp 0x4c3d32
mov eax, dword [esi + 0x438]
sub eax, 0xd00be844
mov dword [esi + 0x378], eax
je 0x4c60f7
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd2bcd72e
mov dword [esi + 0x374], eax
jg 0x4c3d86
jmp 0x4c3d6a
mov eax, dword [esi + 0x438]
sub eax, 0xd277e444
mov dword [esi + 0x370], eax
je 0x4c6158
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd2deb838
mov dword [esi + 0x36c], eax
jg 0x4c3dbe
jmp 0x4c3da2
mov eax, dword [esi + 0x438]
sub eax, 0xd2bcd72f
mov dword [esi + 0x368], eax
je 0x4c62b9
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd4006033
mov dword [esi + 0x364], eax
jg 0x4c3df6
jmp 0x4c3dda
mov eax, dword [esi + 0x438]
sub eax, 0xd2deb839
mov dword [esi + 0x360], eax
je 0x4c695f
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd450dba1
mov dword [esi + 0x35c], eax
jg 0x4c3e2e
jmp 0x4c3e12
mov eax, dword [esi + 0x438]
sub eax, 0xd4006034
mov dword [esi + 0x358], eax
je 0x4c5759
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd56902a2
mov dword [esi + 0x354], eax
jg 0x4c3e66
jmp 0x4c3e4a
mov eax, dword [esi + 0x438]
sub eax, 0xd450dba2
mov dword [esi + 0x350], eax
je 0x4c5383
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd7adcbee
mov dword [esi + 0x34c], eax
jg 0x4c3e9e
jmp 0x4c3e82
mov eax, dword [esi + 0x438]
sub eax, 0xd56902a3
mov dword [esi + 0x348], eax
je 0x4c5ce8
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd8f7cccf
mov dword [esi + 0x344], eax
jg 0x4c3ed6
jmp 0x4c3eba
mov eax, dword [esi + 0x438]
sub eax, 0xd7adcbef
mov dword [esi + 0x340], eax
je 0x4c6923
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xdc292e7d
mov dword [esi + 0x33c], eax
jg 0x4c3f0e
jmp 0x4c3ef2
mov eax, dword [esi + 0x438]
sub eax, 0xd8f7ccd0
mov dword [esi + 0x338], eax
je 0x4c4f1d
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xdee33b2b
mov dword [esi + 0x334], eax
jg 0x4c3f46
jmp 0x4c3f2a
mov eax, dword [esi + 0x438]
sub eax, 0xdc292e7e
mov dword [esi + 0x330], eax
je 0x4c5037
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xe0c000e2
mov dword [esi + 0x32c], eax
jg 0x4c3f7e
jmp 0x4c3f62
mov eax, dword [esi + 0x438]
sub eax, 0xdee33b2c
mov dword [esi + 0x328], eax
je 0x4c485f
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7933d56f
mov dword [esi + 0x324], eax
jg 0x4c4806
jmp 0x4c3f9a
mov eax, dword [esi + 0x438]
sub eax, 0x791d3985
mov dword [esi + 0x320], eax
jg 0x4c47ea
jmp 0x4c3fb6
mov eax, dword [esi + 0x438]
sub eax, 0x71d9e38e
mov dword [esi + 0x31c], eax
jg 0x4c47ce
jmp 0x4c3fd2
mov eax, dword [esi + 0x438]
sub eax, 0x68aa9d14
mov dword [esi + 0x318], eax
jg 0x4c47b2
jmp 0x4c3fee
mov eax, dword [esi + 0x438]
sub eax, 0x672feb27
mov dword [esi + 0x314], eax
jg 0x4c4796
jmp 0x4c400a
mov eax, dword [esi + 0x438]
sub eax, 0x5b50e363
mov dword [esi + 0x310], eax
jg 0x4c477a
jmp 0x4c4026
mov eax, dword [esi + 0x438]
sub eax, 0x4f1a8643
mov dword [esi + 0x30c], eax
jg 0x4c475e
jmp 0x4c4042
mov eax, dword [esi + 0x438]
sub eax, 0x4bb1fa54
mov dword [esi + 0x308], eax
jg 0x4c4742
jmp 0x4c405e
mov eax, dword [esi + 0x438]
sub eax, 0x498f8919
mov dword [esi + 0x304], eax
jg 0x4c4726
jmp 0x4c407a
mov eax, dword [esi + 0x438]
sub eax, 0x4620d14d
mov dword [esi + 0x300], eax
jg 0x4c470a
jmp 0x4c4096
mov eax, dword [esi + 0x438]
sub eax, 0x44bc9144
mov dword [esi + 0x2fc], eax
jg 0x4c46ee
jmp 0x4c40b2
mov eax, dword [esi + 0x438]
sub eax, 0x3f8ede8c
mov dword [esi + 0x2f8], eax
jg 0x4c46d2
jmp 0x4c40ce
mov eax, dword [esi + 0x438]
sub eax, 0x3e12c91c
mov dword [esi + 0x2f4], eax
jg 0x4c46b6
jmp 0x4c40ea
mov eax, dword [esi + 0x438]
sub eax, 0x38c61d84
mov dword [esi + 0x2f0], eax
jg 0x4c469a
jmp 0x4c4106
mov eax, dword [esi + 0x438]
sub eax, 0x32ea9781
mov dword [esi + 0x2ec], eax
jg 0x4c467e
jmp 0x4c4122
mov eax, dword [esi + 0x438]
sub eax, 0x2c8ba599
mov dword [esi + 0x2e8], eax
jg 0x4c4662
jmp 0x4c413e
mov eax, dword [esi + 0x438]
sub eax, 0x25d207bc
mov dword [esi + 0x2e4], eax
jg 0x4c4646
jmp 0x4c415a
mov eax, dword [esi + 0x438]
sub eax, 0x21eb33cb
mov dword [esi + 0x2e0], eax
jg 0x4c462a
jmp 0x4c4176
mov eax, dword [esi + 0x438]
sub eax, 0x20c34c6c
mov dword [esi + 0x2dc], eax
jg 0x4c460e
jmp 0x4c4192
mov eax, dword [esi + 0x438]
sub eax, 0x1904e522
mov dword [esi + 0x2d8], eax
jg 0x4c45f2
jmp 0x4c41ae
mov eax, dword [esi + 0x438]
sub eax, 0x15a00af7
mov dword [esi + 0x2d4], eax
jg 0x4c45d6
jmp 0x4c41ca
mov eax, dword [esi + 0x438]
sub eax, 0x108d7fc2
mov dword [esi + 0x2d0], eax
jg 0x4c45ba
jmp 0x4c41e6
mov eax, dword [esi + 0x438]
sub eax, 0xd0fde1d
mov dword [esi + 0x2cc], eax
jg 0x4c459e
jmp 0x4c4202
mov eax, dword [esi + 0x438]
sub eax, 0xcbc0c1b
mov dword [esi + 0x2c8], eax
jg 0x4c4582
jmp 0x4c421e
mov eax, dword [esi + 0x438]
sub eax, 0x626ad4b
mov dword [esi + 0x2c4], eax
jg 0x4c4566
jmp 0x4c423a
mov eax, dword [esi + 0x438]
sub eax, 0x264f053
mov dword [esi + 0x2c0], eax
jg 0x4c454a
jmp 0x4c4256
mov eax, dword [esi + 0x438]
sub eax, 0x21e6e47
mov dword [esi + 0x2bc], eax
jg 0x4c452e
jmp 0x4c4272
mov eax, dword [esi + 0x438]
sub eax, 0x1553953
mov dword [esi + 0x2b8], eax
jg 0x4c4512
jmp 0x4c428e
mov eax, dword [esi + 0x438]
sub eax, 0x41b82b
mov dword [esi + 0x2b4], eax
jg 0x4c44f6
jmp 0x4c42aa
mov eax, dword [esi + 0x438]
sub eax, 0xf922580c
mov dword [esi + 0x2b0], eax
jg 0x4c44da
jmp 0x4c42c6
mov eax, dword [esi + 0x438]
sub eax, 0xf83ede39
mov dword [esi + 0x2ac], eax
jg 0x4c44be
jmp 0x4c42e2
mov eax, dword [esi + 0x438]
sub eax, 0xf51ffaee
mov dword [esi + 0x2a8], eax
jg 0x4c44a2
jmp 0x4c42fe
mov eax, dword [esi + 0x438]
sub eax, 0xf3755ffd
mov dword [esi + 0x2a4], eax
jg 0x4c4486
jmp 0x4c431a
mov eax, dword [esi + 0x438]
sub eax, 0xf04f0611
mov dword [esi + 0x2a0], eax
jg 0x4c446a
jmp 0x4c4336
mov eax, dword [esi + 0x438]
sub eax, 0xf00f5f7c
mov dword [esi + 0x29c], eax
jg 0x4c444e
jmp 0x4c4352
mov eax, dword [esi + 0x438]
sub eax, 0xee066fef
mov dword [esi + 0x298], eax
jg 0x4c4432
jmp 0x4c436e
mov eax, dword [esi + 0x438]
sub eax, 0xecf9fc72
mov dword [esi + 0x294], eax
jg 0x4c4416
jmp 0x4c438a
mov eax, dword [esi + 0x438]
sub eax, 0xe8f44ae0
mov dword [esi + 0x290], eax
jg 0x4c43fa
jmp 0x4c43a6
mov eax, dword [esi + 0x438]
sub eax, 0xe0c000e3
mov dword [esi + 0x28c], eax
je 0x4c534f
jmp 0x4c43c2
mov eax, dword [esi + 0x438]
sub eax, 0xe0cf6080
mov dword [esi + 0x288], eax
je 0x4c532b
jmp 0x4c43de
mov eax, dword [esi + 0x438]
sub eax, 0xe3516504
mov dword [esi + 0x284], eax
je 0x4c4c5d
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xe8f44ae1
mov dword [esi + 0x280], eax
je 0x4c5f21
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xecf9fc73
mov dword [esi + 0x27c], eax
je 0x4c4f42
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xee066ff0
mov dword [esi + 0x278], eax
je 0x4c4c6c
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf00f5f7d
mov dword [esi + 0x274], eax
je 0x4c5dc0
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf04f0612
mov dword [esi + 0x270], eax
je 0x4c56da
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf3755ffe
mov dword [esi + 0x26c], eax
je 0x4c5294
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf51ffaef
mov dword [esi + 0x268], eax
je 0x4c5448
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf83ede3a
mov dword [esi + 0x264], eax
je 0x4c5a66
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xf922580d
mov dword [esi + 0x260], eax
je 0x4c6313
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x41b82c
mov dword [esi + 0x25c], eax
je 0x4c57e6
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x1553954
mov dword [esi + 0x258], eax
je 0x4c6622
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x21e6e48
mov dword [esi + 0x254], eax
je 0x4c5cf7
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x264f054
mov dword [esi + 0x250], eax
je 0x4c5b13
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x626ad4c
mov dword [esi + 0x24c], eax
je 0x4c54ed
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xcbc0c1c
mov dword [esi + 0x248], eax
je 0x4c5807
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0xd0fde1e
mov dword [esi + 0x244], eax
je 0x4c5095
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x108d7fc3
mov dword [esi + 0x240], eax
je 0x4c6118
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x15a00af8
mov dword [esi + 0x23c], eax
je 0x4c51e7
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x1904e523
mov dword [esi + 0x238], eax
je 0x4c4e0b
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x20c34c6d
mov dword [esi + 0x234], eax
je 0x4c51d8
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x21eb33cc
mov dword [esi + 0x230], eax
je 0x4c603a
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x25d207bd
mov dword [esi + 0x22c], eax
je 0x4c4dea
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x2c8ba59a
mov dword [esi + 0x228], eax
je 0x4c512d
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x32ea9782
mov dword [esi + 0x224], eax
je 0x4c5c7c
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x38c61d85
mov dword [esi + 0x220], eax
je 0x4c530a
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x3e12c91d
mov dword [esi + 0x21c], eax
je 0x4c61fd
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x3f8ede8d
mov dword [esi + 0x218], eax
je 0x4c50a4
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x44bc9145
mov dword [esi + 0x214], eax
je 0x4c66b1
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x4620d14e
mov dword [esi + 0x210], eax
je 0x4c6995
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x498f891a
mov dword [esi + 0x20c], eax
je 0x4c58cb
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x4bb1fa55
mov dword [esi + 0x208], eax
je 0x4c6323
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x4f1a8644
mov dword [esi + 0x204], eax
je 0x4c5d1b
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x5b50e364
mov dword [esi + 0x200], eax
je 0x4c697d
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x672feb28
mov dword [esi + 0x1fc], eax
je 0x4c4f0e
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x68aa9d15
mov dword [esi + 0x1f8], eax
je 0x4c6693
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x71d9e38f
mov dword [esi + 0x1f4], eax
je 0x4c50cf
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x791d3986
mov dword [esi + 0x1f0], eax
je 0x4c53a2
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7933d570
mov dword [esi + 0x1ec], eax
je 0x4c5e7c
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7b5fa1f3
mov dword [esi + 0x1e8], eax
je 0x4c56fb
jmp 0x4c485a
mov eax, dword [esi + 0x438]
sub eax, 0x7fe42a51
mov dword [esi + 0x1e4], eax
je 0x4c62ed
jmp 0x4c485a
jmp 0x4c69b6
mov eax, 0x4bb1fa55
mov ecx, 0x958ffb1e
mov dl, 1
mov dh, byte [esi + 0x45a]
mov bl, byte [esi + 0x45b]
mov bh, dh
xor bh, 1
mov dword [esi + 0x1e0], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [esi + 0x1df], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esi + 0x1df]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov edi, dword [esi + 0x1e0]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 5
mov ecx, 0
mov edx, 0x8c
mov edi, 4
mov dword [esi + 0x1d8], eax
mov eax, edi
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1d0], ecx
mov dword [esi + 0x1cc], edx
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x45c], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x460], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x464], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x468], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x46c], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x470], eax
mov eax, 0x8c
call fcn.004ce730
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x474], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x478], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x47c], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x480], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x484], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x48c], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x490], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x494], eax
mov eax, dword [esi + 0x1d4]
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x498], eax
mov eax, 0x400
mov dword [esi + 0x1c8], eax
call fcn.004ce730
mov eax, esp
mov dword [esi + 0x49c], eax
mov eax, dword [esi + 0x1c8]
call fcn.004ce730
mov eax, esp
mov ecx, 8
mov dword [esi + 0x4a0], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0x45c]
mov edx, dword [esi + 0x43c]
mov dword [ecx], edx
mov ecx, dword [esi + 0x460]
mov edi, dword [esi + 0x444]
mov dword [ecx], edi
mov ecx, dword [esi + 0x464]
mov ebx, dword [esi + 0x440]
mov dword [ecx], ebx
mov ecx, dword [esi + 0x468]
mov edx, dword [esi + 0x44c]
mov dword [ecx], edx
mov ecx, dword [esi + 0x46c]
mov dword [ecx], 0
mov ecx, dword [esi + 0x470]
mov dword [ecx], 0
mov ecx, dword [esi + 0x474]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x8c
mov dword [esi + 0x1c4], eax
call fcn.004ce960
add esp, 0xc
mov eax, dword [esi + 0x478]
mov dword [eax], 0xd
mov eax, dword [esi + 0x47c]
mov dword [eax], 0
mov eax, dword [esi + 0x484]
mov dword [eax], 0
mov eax, dword [esi + 0x488]
mov dword [eax], 0x400
mov eax, dword [esi + 0x494]
mov dword [eax], 0xffffffff
mov eax, dword [esi + 0x468]
mov eax, dword [eax]
mov ecx, dword [esi + 0x1c4]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.0040ba80
add esp, 0xc
mov ecx, 5
mov edx, dword [esi + 0x474]
sub esp, 0xc
mov dword [esp], edx
mov edx, dword [esi + 0x1c4]
mov dword [esp + 4], edx
mov dword [esp + 8], 5
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1bc], ecx
call fcn.004c69c0
add esp, 0xc
mov ecx, 0x4bb1fa55
mov edx, 0xc0f764af
mov bl, 1
cmp eax, 0
setne bh
and bh, 1
mov byte [esi + 0x4a5], bh
mov eax, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov dword [esi + 0x1b8], eax
sub eax, 0x10a024d4
sub eax, 1
add eax, 0x10a024d4
mov dword [esi + 0x1b4], eax
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1b0], ecx
mov ecx, dword [esi + 0x1b4]
imul eax, ecx
and eax, 1
cmp eax, 0
sete bh
cmp edi, 0xa
setl al
mov ah, bh
xor ah, 1
mov cl, al
xor cl, 1
xor bl, 0
mov ch, ah
and ch, 0
and bh, bl
mov byte [esi + 0x1af], al
mov al, cl
and al, 0
mov byte [esi + 0x1ae], al
mov al, byte [esi + 0x1af]
and al, bl
or ch, bh
mov bh, byte [esi + 0x1ae]
or bh, al
xor ch, bh
or ah, cl
xor ah, 1
or bl, 0
and ah, bl
or ch, ah
test ch, 1
mov edi, dword [esi + 0x1b0]
cmovne edi, edx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xee066ff0
mov ecx, 0xe3516504
mov dl, byte [esi + 0x4a5]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov dword [esi + 0x454], 0xb512112b
jmp 0x4c69b6
mov eax, 0x1553954
mov ecx, 0x8bf34d35
mov edx, 0
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
sub edx, 1
mov dword [esi + 0x1a8], eax
mov eax, edi
add eax, edx
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov dl, al
and dl, ah
xor al, ah
or dl, al
test dl, 1
mov edi, dword [esi + 0x1a8]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x736
mov ecx, 0x300
mov edx, dword [esi + 0x474]
mov edx, dword [edx]
mov edi, dword [esi + 0x474]
mov edi, dword [edi + 4]
sub edx, 0x978d734a
add edx, edi
add edx, 0x978d734a
mov dword [esi + 0x1a4], ecx
mov ecx, edx
mov edx, dword [esi + 0x1a4]
shl edx, cl
sub eax, 0x5c293796
add eax, edx
add eax, 0x5c293796
shl eax, 1
sub esp, 4
mov dword [esp], eax
call fcn.004cea13
add esp, 4
mov edx, 0x1553954
mov edi, 0x25d207bd
mov cl, 1
mov ebx, dword [esi + 0x474]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x474]
cmp dword [eax + 0x10], 0
setne ch
and ch, 1
mov byte [esi + 0x4a6], ch
mov eax, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x1a0], eax
sub eax, 0x3c563280
sub eax, 1
add eax, 0x3c563280
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x198], edx
mov edx, dword [esi + 0x19c]
imul eax, edx
and eax, 1
cmp eax, 0
sete ch
cmp ebx, 0xa
setl al
mov ah, ch
xor ah, 1
mov dl, al
xor dl, 1
xor cl, 0
mov dh, ah
and dh, 0
and ch, cl
mov bl, dl
and bl, 0
and al, cl
or dh, ch
or bl, al
xor dh, bl
or ah, dl
xor ah, 1
or cl, 0
and ah, cl
or dh, ah
test dh, 1
mov ebx, dword [esi + 0x198]
cmovne ebx, edi
mov dword [esi + 0x454], ebx
jmp 0x4c69b6
mov eax, 0x1904e523
mov ecx, 0xd8f7ccd0
mov dl, byte [esi + 0x4a6]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x68aa9d15
mov ecx, 0xc7345636
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
sub ebx, 0x1a608702
sub ebx, 1
add ebx, 0x1a608702
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x68aa9d15
mov ecx, 0x672feb28
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x194], eax
mov eax, edi
add eax, 0xf437b87e
sub eax, 1
sub eax, 0xf437b87e
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0x193], al
mov al, bl
and al, 1
mov byte [esi + 0x192], al
mov al, byte [esi + 0x193]
and al, dl
or bh, dh
mov dh, byte [esi + 0x192]
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 edi, dword [esi + 0x194]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov dword [esi + 0x454], 0xb512112b
jmp 0x4c69b6
mov eax, 0xb7eb3451
mov ecx, 0xecf9fc73
mov edx, dword [esi + 0x474]
cmp dword [edx + 0xc], 0
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x474]
mov eax, dword [eax + 0xc]
shl eax, 0
sub esp, 4
mov dword [esp], eax
call fcn.004cea13
add esp, 4
mov ecx, 0xc993507d
mov edx, 0x3f8ede8d
mov edi, dword [esi + 0x474]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x474]
cmp dword [eax + 0x14], 0
cmovne ecx, edx
mov dword [esi + 0x454], ecx
jmp 0x4c69b6
mov eax, 0xb30c59ec
mov ecx, 0xdc292e7e
mov dl, 1
mov edi, 0
mov ebx, dword [0x4f252c]
mov dword [esi + 0x18c], eax
mov eax, dword [0x4f2528]
sub edi, 1
mov dword [esi + 0x188], eax
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0x188]
cmp eax, 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 [esi + 0x187], al
mov al, bl
and al, 1
mov byte [esi + 0x186], al
mov al, byte [esi + 0x187]
and al, dl
or bh, dh
mov dh, byte [esi + 0x186]
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 edi, dword [esi + 0x18c]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xb30c59ec
mov ecx, 0xd0fde1e
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
sub ebx, 0x4be43763
sub ebx, 1
add ebx, 0x4be43763
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov dword [esi + 0x454], 0xb512112b
jmp 0x4c69b6
mov dword [esi + 0x454], 0x71d9e38f
jmp 0x4c69b6
mov eax, dword [esi + 0x474]
mov dword [eax + 0x14], 0
mov dword [esi + 0x454], 0x71d9e38f
jmp 0x4c69b6
mov eax, 0x44bc9145
mov ecx, 0x2c8ba59a
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
add ebx, 0x1fda6647
sub ebx, 1
sub ebx, 0x1fda6647
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x44bc9145
mov ecx, 0x20c34c6d
mov edx, dword [esi + 0x4a0]
mov edi, dword [esi + 0x470]
mov dword [edi], edx
mov edx, dword [esi + 0x464]
mov edx, dword [edx]
sub edx, 0x2e624ae7
sub edx, 0xd
add edx, 0x2e624ae7
mov edi, dword [esi + 0x464]
mov dword [edi], edx
mov edx, dword [esi + 0x474]
mov dword [edx + 0x84], 0xfffffffe
mov edx, dword [esi + 0x474]
mov dword [edx + 0x58], 0
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
sub ebx, 0x3400bd95
sub ebx, 1
add ebx, 0x3400bd95
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov dword [esi + 0x454], 0x15a00af8
jmp 0x4c69b6
mov eax, 0xc945a6e1
mov ecx, 0xf3755ffe
mov dl, 1
mov edi, 0
mov ebx, dword [0x4f252c]
mov dword [esi + 0x180], eax
mov eax, dword [0x4f2528]
sub edi, 1
mov dword [esi + 0x17c], eax
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0x17c]
cmp eax, 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 [esi + 0x17b], al
mov al, bl
and al, 1
mov byte [esi + 0x17a], al
mov al, byte [esi + 0x17b]
and al, dl
or bh, dh
mov dh, byte [esi + 0x17a]
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 edi, dword [esi + 0x180]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xc945a6e1
mov ecx, 0x38c61d85
mov edx, dword [esi + 0x484]
cmp dword [edx], 0
sete bl
and bl, 1
mov byte [esi + 0x4a7], bl
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
add ebx, 0x95079342
sub ebx, 1
sub ebx, 0x95079342
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0xf51ffaef
mov ecx, 0xe0cf6080
mov dl, byte [esi + 0x4a7]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0xf51ffaef
mov ecx, 0xe0c000e3
mov edx, dword [esi + 0x464]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x791d3986
mov ecx, 0xd450dba2
mov edx, dword [esi + 0x480]
mov dword [edx], 0x400
mov edx, dword [esi + 0x480]
mov edx, dword [edx]
mov edi, dword [esi + 0x464]
cmp edx, dword [edi]
cmova eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x464]
mov eax, dword [eax]
mov ecx, dword [esi + 0x480]
mov dword [ecx], eax
mov dword [esi + 0x454], 0x791d3986
jmp 0x4c69b6
mov eax, dword [esi + 0x480]
mov eax, dword [eax]
mov ecx, dword [esi + 0x468]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x478]
add ecx, dword [edx]
mov edx, dword [esi + 0x49c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040ba80
add esp, 0xc
mov ecx, 0
mov edx, dword [esi + 0x480]
mov edx, dword [edx]
mov edi, dword [esi + 0x478]
mov edi, dword [edi]
mov ebx, ecx
sub ebx, edx
sub edi, ebx
mov edx, dword [esi + 0x478]
mov dword [edx], edi
mov edx, dword [esi + 0x480]
mov edx, dword [edx]
mov edi, dword [esi + 0x464]
mov edi, dword [edi]
sub ecx, edx
add edi, ecx
mov ecx, dword [esi + 0x464]
mov dword [ecx], edi
mov ecx, dword [esi + 0x480]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x484]
mov dword [edx], ecx
mov ecx, dword [esi + 0x49c]
mov edx, dword [esi + 0x46c]
mov dword [edx], ecx
mov dword [esi + 0x454], 0xf51ffaef
mov dword [esi + 0x174], eax
jmp 0x4c69b6
mov eax, 0xca2f5a0b
mov ecx, 0x626ad4c
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x170], eax
mov eax, edi
sub eax, 0xb57e1889
sub eax, 1
add eax, 0xb57e1889
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 [esi + 0x16f], al
mov al, bl
and al, 0
mov byte [esi + 0x16e], al
mov al, byte [esi + 0x16f]
and al, dl
or bh, dh
mov dh, byte [esi + 0x16e]
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 edi, dword [esi + 0x170]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, dword [esi + 0x484]
cmp dword [eax], 0
sete cl
and cl, 1
movzx eax, cl
mov edx, dword [esi + 0x488]
mov edx, dword [edx]
mov edi, dword [esi + 0x470]
mov edi, dword [edi]
mov ebx, dword [esi + 0x484]
mov ebx, dword [ebx]
mov ecx, dword [esi + 0x46c]
mov ecx, dword [ecx]
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0x474]
mov dword [esi + 0x164], eax
mov eax, dword [esi + 0x48c]
mov dword [esi + 0x160], eax
mov eax, dword [esi + 0x490]
sub esp, 0x20
mov dword [esi + 0x15c], eax
mov eax, dword [esi + 0x164]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esi + 0x160]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0x15c]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x168]
mov dword [esp + 0x1c], eax
call fcn.004c7180
add esp, 0x20
mov ecx, 0xca2f5a0b
mov edx, 0xf04f0612
mov bl, 1
mov edi, 0
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x498]
mov dword [esi + 0x154], ecx
mov ecx, dword [esi + 0x158]
mov dword [eax], ecx
mov eax, dword [esi + 0x48c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x484]
mov ecx, dword [ecx]
sub ecx, 0x77013401
sub ecx, eax
add ecx, 0x77013401
mov eax, dword [esi + 0x484]
mov dword [eax], ecx
mov eax, dword [esi + 0x48c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x46c]
mov ecx, dword [ecx]
add ecx, eax
mov eax, dword [esi + 0x46c]
mov dword [eax], ecx
mov eax, dword [esi + 0x490]
mov eax, dword [eax]
mov ecx, dword [esi + 0x488]
mov ecx, dword [ecx]
sub edi, eax
add ecx, edi
mov eax, dword [esi + 0x488]
mov dword [eax], ecx
mov eax, dword [esi + 0x490]
mov eax, dword [eax]
mov ecx, dword [esi + 0x470]
mov ecx, dword [ecx]
add ecx, eax
mov eax, dword [esi + 0x470]
mov dword [eax], ecx
mov eax, dword [esi + 0x488]
cmp dword [eax], 0
sete bh
and bh, 1
mov byte [esi + 0x4a8], bh
mov eax, dword [0x4f252c]
mov ecx, dword [0x4f2528]
mov edi, eax
add edi, 0x32b4339f
sub edi, 1
sub edi, 0x32b4339f
imul eax, edi
and eax, 1
cmp eax, 0
sete bh
cmp ecx, 0xa
setl al
mov ah, bh
xor ah, 1
mov cl, al
xor cl, 1
xor bl, 0
mov ch, ah
and ch, 0
and bh, bl
mov byte [esi + 0x153], al
mov al, cl
and al, 0
mov byte [esi + 0x152], al
mov al, byte [esi + 0x153]
and al, bl
or ch, bh
mov bh, byte [esi + 0x152]
or bh, al
xor ch, bh
or ah, cl
xor ah, 1
or bl, 0
and ah, bl
or ch, ah
test ch, 1
mov edi, dword [esi + 0x154]
cmovne edi, edx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x21e6e48
mov ecx, 0x7b5fa1f3
mov dl, byte [esi + 0x4a8]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x9188c1d8
mov ecx, 0xd4006034
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
add ebx, 0xa885d32f
sub ebx, 1
sub ebx, 0xa885d32f
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x9188c1d8
mov ecx, 0x41b82c
mov edx, 0
mov edi, dword [esi + 0x480]
mov dword [edi], 0x400
mov edi, dword [esi + 0x480]
mov edi, dword [edi]
mov ebx, dword [esi + 0x45c]
cmp edi, dword [ebx]
seta bl
and bl, 1
mov byte [esi + 0x4a9], bl
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
sub edx, 1
mov dword [esi + 0x14c], eax
mov eax, edi
add eax, edx
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov dl, al
and dl, ah
xor al, ah
or dl, al
test dl, 1
mov edi, dword [esi + 0x14c]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x8f84af7a
mov ecx, 0xcbc0c1c
mov dl, byte [esi + 0x4a9]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x45c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x480]
mov dword [ecx], eax
mov dword [esi + 0x454], 0x8f84af7a
jmp 0x4c69b6
mov eax, 0x98336c70
mov ecx, 0x498f891a
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x148], eax
mov eax, edi
add eax, 0x41800ff7
sub eax, 1
sub eax, 0x41800ff7
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 [esi + 0x147], al
mov al, bl
and al, 0
mov byte [esi + 0x146], al
mov al, byte [esi + 0x147]
and al, dl
or bh, dh
mov dh, byte [esi + 0x146]
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 edi, dword [esi + 0x148]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, dword [esi + 0x480]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4a0]
mov edx, dword [esi + 0x460]
mov edx, dword [edx]
mov edi, dword [esi + 0x47c]
add edx, dword [edi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040ba80
add esp, 0xc
mov ecx, 0x98336c70
mov edx, 0xbe6f8931
mov bl, 1
mov edi, 0
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0x480]
mov eax, dword [eax]
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x47c]
mov eax, dword [eax]
mov dword [esi + 0x138], eax
mov eax, edi
mov dword [esi + 0x134], ecx
mov ecx, dword [esi + 0x138]
sub eax, ecx
mov ecx, edi
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x13c]
sub ecx, eax
mov eax, dword [esi + 0x130]
add eax, ecx
sub edi, eax
mov eax, dword [esi + 0x47c]
mov dword [eax], edi
mov eax, dword [esi + 0x480]
mov eax, dword [eax]
mov ecx, dword [esi + 0x45c]
mov ecx, dword [ecx]
sub ecx, 0xaff54778
sub ecx, eax
add ecx, 0xaff54778
mov eax, dword [esi + 0x45c]
mov dword [eax], ecx
mov eax, dword [esi + 0x488]
mov dword [eax], 0x400
mov eax, dword [esi + 0x488]
mov eax, dword [eax]
mov ecx, dword [esi + 0x45c]
cmp eax, dword [ecx]
seta bh
and bh, 1
mov byte [esi + 0x4aa], bh
mov eax, dword [0x4f252c]
mov ecx, dword [0x4f2528]
mov edi, eax
sub edi, 0x37ce21c1
sub edi, 1
add edi, 0x37ce21c1
imul eax, edi
and eax, 1
cmp eax, 0
sete bh
cmp ecx, 0xa
setl al
mov ah, bh
xor ah, 1
mov cl, al
xor cl, 1
xor bl, 1
mov ch, ah
and ch, 1
and bh, bl
mov byte [esi + 0x12f], al
mov al, cl
and al, 1
mov byte [esi + 0x12e], al
mov al, byte [esi + 0x12f]
and al, bl
or ch, bh
mov bh, byte [esi + 0x12e]
or bh, al
xor ch, bh
or ah, cl
xor ah, 1
or bl, 1
and ah, bl
or ch, ah
test ch, 1
mov edi, dword [esi + 0x134]
cmovne edi, edx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x907b59b8
mov ecx, 0xf83ede3a
mov dl, byte [esi + 0x4aa]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0xd7adcbef
mov ecx, 0x264f054
mov dl, 1
mov edi, 0
mov ebx, dword [0x4f252c]
mov dword [esi + 0x128], eax
mov eax, dword [0x4f2528]
sub edi, 1
mov dword [esi + 0x124], eax
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0x124]
cmp eax, 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 [esi + 0x123], al
mov al, bl
and al, 1
mov byte [esi + 0x122], al
mov al, byte [esi + 0x123]
and al, dl
or bh, dh
mov dh, byte [esi + 0x122]
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 edi, dword [esi + 0x128]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xd7adcbef
mov ecx, 0xacd49476
mov dl, 1
mov edi, dword [esi + 0x45c]
mov edi, dword [edi]
mov ebx, dword [esi + 0x488]
mov dword [ebx], edi
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x11c], eax
mov eax, edi
sub eax, 0xac4f0b
sub eax, 1
add eax, 0xac4f0b
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 [esi + 0x11b], al
mov al, bl
and al, 0
mov byte [esi + 0x11a], al
mov al, byte [esi + 0x11b]
and al, dl
or bh, dh
mov dh, byte [esi + 0x11a]
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 edi, dword [esi + 0x11c]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov dword [esi + 0x454], 0x907b59b8
jmp 0x4c69b6
mov eax, 0xc2e39d83
mov ecx, 0x32ea9782
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x114], eax
mov eax, edi
add eax, 0xa0918122
sub eax, 1
sub eax, 0xa0918122
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0x113], al
mov al, bl
and al, 1
mov byte [esi + 0x112], al
mov al, byte [esi + 0x113]
and al, dl
or bh, dh
mov dh, byte [esi + 0x112]
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 edi, dword [esi + 0x114]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xc2e39d83
mov ecx, 0xd56902a3
mov edx, dword [esi + 0x4a0]
mov edi, dword [esi + 0x470]
mov dword [edi], edx
mov edx, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, edx
add ebx, 0x88b8dee8
sub ebx, 1
sub ebx, 0x88b8dee8
imul edx, ebx
and edx, 1
cmp edx, 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 [esi + 0x454], eax
jmp 0x4c69b6
mov dword [esi + 0x454], 0x21e6e48
jmp 0x4c69b6
mov eax, 0x7933d570
mov ecx, 0x4f1a8644
mov edx, dword [esi + 0x498]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0xd2deb839
mov ecx, 0xf00f5f7d
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0x10c], eax
mov eax, edi
add eax, 0x5695918
sub eax, 1
sub eax, 0x5695918
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0x10b], al
mov al, bl
and al, 1
mov byte [esi + 0x10a], al
mov al, byte [esi + 0x10b]
and al, dl
or bh, dh
mov dh, byte [esi + 0x10a]
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 edi, dword [esi + 0x10c]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0xd2deb839
mov ecx, 0x9e010cf3
mov dl, 1
mov edi, 0
mov ebx, dword [0x4f252c]
mov dword [esi + 0x104], eax
mov eax, dword [0x4f2528]
sub edi, 1
mov dword [esi + 0x100], eax
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0x100]
cmp eax, 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 [esi + 0xff], al
mov al, bl
and al, 0
mov byte [esi + 0xfe], al
mov al, byte [esi + 0xff]
and al, dl
or bh, dh
mov dh, byte [esi + 0xfe]
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 edi, dword [esi + 0x104]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov dword [esi + 0x454], 0xb512112b
jmp 0x4c69b6
mov eax, 0x810d2cb8
mov ecx, 0xe8f44ae1
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0xf8], eax
mov eax, edi
sub eax, 0xce68a4e7
sub eax, 1
add eax, 0xce68a4e7
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0xf7], al
mov al, bl
and al, 1
mov byte [esi + 0xf6], al
mov al, byte [esi + 0xf7]
and al, dl
or bh, dh
mov dh, byte [esi + 0xf6]
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 edi, dword [esi + 0xf8]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x810d2cb8
mov ecx, 0xaac6e76f
mov edx, 0
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
sub edx, 1
mov dword [esi + 0xf0], eax
mov eax, edi
add eax, edx
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov dl, al
and dl, ah
xor al, ah
or dl, al
test dl, 1
mov edi, dword [esi + 0xf0]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov dword [esi + 0x454], 0x8fd40712
jmp 0x4c69b6
mov eax, 0x5b50e364
mov ecx, 0x21eb33cc
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0xec], eax
mov eax, edi
sub eax, 0xedf873fd
sub eax, 1
add eax, 0xedf873fd
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0xeb], al
mov al, bl
and al, 1
mov byte [esi + 0xea], al
mov al, byte [esi + 0xeb]
and al, dl
or bh, dh
mov dh, byte [esi + 0xea]
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 edi, dword [esi + 0xec]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x5b50e364
mov ecx, 0xd00be844
mov dl, 1
mov edi, dword [esi + 0x488]
cmp dword [edi], 0
setne dh
and dh, 1
mov byte [esi + 0x4ab], dh
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0xe4], eax
mov eax, edi
add eax, 0x3811419e
sub eax, 1
sub eax, 0x3811419e
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0xe3], al
mov al, bl
and al, 1
mov byte [esi + 0xe2], al
mov al, byte [esi + 0xe3]
and al, dl
or bh, dh
mov dh, byte [esi + 0xe2]
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 edi, dword [esi + 0xe4]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, 0x108d7fc3
mov ecx, 0x15a00af8
mov dl, byte [esi + 0x4ab]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x494]
mov dword [eax], 0
mov dword [esi + 0x454], 0xb512112b
jmp 0x4c69b6
mov eax, 0xa236aa50
mov ecx, 0xd277e444
mov edx, dword [esi + 0x474]
cmp dword [edx + 0x14], 0
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, 0x4620d14e
mov ecx, 0x3e12c91d
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0xdc], eax
mov eax, edi
add eax, 0x68efb39a
sub eax, 1
sub eax, 0x68efb39a
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 [esi + 0xdb], al
mov al, bl
and al, 0
mov byte [esi + 0xda], al
mov al, byte [esi + 0xdb]
and al, dl
or bh, dh
mov dh, byte [esi + 0xda]
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 edi, dword [esi + 0xdc]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov eax, dword [esi + 0x474]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.004ce75b
add esp, 4
mov eax, 0x4620d14e
mov ecx, 0xd2bcd72f
mov dl, 1
mov edi, dword [0x4f252c]
mov ebx, dword [0x4f2528]
mov dword [esi + 0xd4], eax
mov eax, edi
sub eax, 0x72cd392b
sub eax, 1
add eax, 0x72cd392b
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, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0xd3], al
mov al, bl
and al, 1
mov byte [esi + 0xd2], al
mov al, byte [esi + 0xd3]
and al, dl
or bh, dh
mov dh, byte [esi + 0xd2]
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 edi, dword [esi + 0xd4]
cmovne edi, ecx
mov dword [esi + 0x454], edi
jmp 0x4c69b6
mov dword [esi + 0x454], 0xa236aa50
jmp 0x4c69b6
mov eax, 0xf922580d
mov ecx, 0x7fe42a51
mov edx, dword [esi + 0x474]
cmp dword [edx + 0x10], 0
cmovne eax, ecx
mov dword [esi + 0x454], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x474]
mov eax, dword [eax + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.004ce75b
add esp, 4
mov dword [esi + 0x454], 0xf922580d
jmp 0x4c69b6
mov eax, dword [esi + 0x494]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 5
mov ecx, 0
mov edx, 0x8c
mov edi, 4
mov dword [esi + 0xcc], eax
mov eax, edi
mov dword [esi + 0xc8], edi
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], edx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xbc], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xb8], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xb4], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xb0], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xac], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, 0x8c
mov dword [esi + 0xa8], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xa4], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xa0], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xc8]
mov dword [esi + 0x9c], eax
mov eax, edx
mov dword [esi + 0x98], ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x94], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x90], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x8c], eax
mov eax, ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0xc8]
mov dword [esi + 0x88], eax
mov eax, edx
mov dword [esi + 0x84], ecx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0xc8]
mov dword [esi + 0x80], eax
mov eax, edx
mov dword [esi + 0x7c], ecx
call fcn.004ce730
mov eax, dword [esi + 0x90]
mov ecx, esp
mov edx, dword [esi + 0xc8]
mov dword [esi + 0x78], eax
mov eax, edx
mov dword [esi + 0x74], ecx
call fcn.004ce730
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0xa8]
mov edx, esp
mov edi, 0x400
mov dword [esi + 0x70], eax
mov eax, edi
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], ecx
mov dword [esi + 0x64], edx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x60], eax
mov eax, ecx
call fcn.004ce730
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0x9c]
mov edx, 8
mov edi, esp
mov ebx, dword [esi + 0xb8]
mov dword [esi + 0x5c], eax
mov eax, edx
mov dword [esi + 0x58], edi
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], ebx
call fcn.004ce730
mov eax, esp
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x5c]
mov ebx, dword [esi + 0x43c]
mov dword [edi], ebx
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x444]
mov dword [edi], ebx
mov edi, dword [esi + 0x440]
mov dword [ecx], edi
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44c]
mov dword [ecx], edi
mov ecx, dword [esi + 0x98]
mov dword [ecx], 0
mov ecx, dword [esi + 0x68]
mov dword [ecx], 0
mov ecx, dword [esi + 0xa4]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x8c
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], edx
call fcn.004ce960
add esp, 0xc
mov eax, dword [esi + 0x84]
mov dword [eax], 0xd
mov ecx, dword [esi + 0x54]
mov dword [ecx], 0
mov edx, dword [esi + 0x78]
mov dword [edx], 0
mov edi, dword [esi + 0x70]
mov dword [edi], 0x400
mov ebx, dword [esi + 0x48]
mov dword [ebx], 0xffffffff
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.0040ba80
add esp, 0xc
mov ecx, 5
sub esp, 0xc
mov edx, dword [esi + 0xa4]
mov dword [esp], edx
mov edi, dword [esi + 0x4c]
mov dword [esp + 4], edi
mov dword [esp + 8], 5
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
call fcn.004c69c0
add esp, 0xc
mov dword [esi + 0x454], 0x958ffb1e
mov dword [esi + 0x3c], eax
jmp 0x4c69b6
mov eax, 0xbc826d87
mov ecx, 0x300
mov edx, dword [esi + 0x474]
mov edx, dword [edx]
mov edi, dword [esi + 0x474]
mov edi, dword [edi + 4]
sub edx, 0x9e991094
add edx, edi
add edx, 0x9e991094
mov dword [esi + 0x38], ecx
mov ecx, edx
mov edx, dword [esi + 0x38]
shl edx, cl
add eax, 0x736
add eax, edx
sub eax, 0xbc826d87
shl eax, 1
sub esp, 4
mov dword [esp], eax
call fcn.004cea13
add esp, 4
mov edx, dword [esi + 0x474]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x474]
mov dword [esi + 0x454], 0x8bf34d35
mov dword [esi + 0x34], eax
jmp 0x4c69b6
mov dword [esi + 0x454], 0xc7345636
jmp 0x4c69b6
mov dword [esi + 0x454], 0xdc292e7e
jmp 0x4c69b6
mov eax, dword [esi + 0x4a0]
mov ecx, dword [esi + 0x470]
mov dword [ecx], eax
mov eax, dword [esi + 0x464]
mov eax, dword [eax]
sub eax, 0xea46ebf9
sub eax, 0xd
add eax, 0xea46ebf9
mov ecx, dword [esi + 0x464]
mov dword [ecx], eax
mov eax, dword [esi + 0x474]
mov dword [eax + 0x84], 0xfffffffe
mov eax, dword [esi + 0x474]
mov dword [eax + 0x58], 0
mov dword [esi + 0x454], 0x2c8ba59a
jmp 0x4c69b6
mov eax, dword [esi + 0x484]
mov dword [esi + 0x454], 0xf3755ffe
mov dword [esi + 0x30], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x484]
cmp dword [eax], 0
sete cl
and cl, 1
movzx eax, cl
mov edx, dword [esi + 0x488]
mov edx, dword [edx]
mov edi, dword [esi + 0x470]
mov edi, dword [edi]
mov ebx, dword [esi + 0x484]
mov ebx, dword [ebx]
mov ecx, dword [esi + 0x46c]
mov ecx, dword [ecx]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x474]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x48c]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x490]
sub esp, 0x20
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esi + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
call fcn.004c7180
add esp, 0x20
mov ecx, 0
mov edx, dword [esi + 0x498]
mov dword [edx], eax
mov eax, dword [esi + 0x48c]
mov eax, dword [eax]
mov edx, dword [esi + 0x484]
mov edx, dword [edx]
sub ecx, eax
add edx, ecx
mov eax, dword [esi + 0x484]
mov dword [eax], edx
mov eax, dword [esi + 0x48c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x46c]
mov ecx, dword [ecx]
add ecx, eax
mov eax, dword [esi + 0x46c]
mov dword [eax], ecx
mov eax, dword [esi + 0x490]
mov eax, dword [eax]
mov ecx, dword [esi + 0x488]
mov ecx, dword [ecx]
add ecx, 0x81c73d58
sub ecx, eax
sub ecx, 0x81c73d58
mov eax, dword [esi + 0x488]
mov dword [eax], ecx
mov eax, dword [esi + 0x490]
mov eax, dword [eax]
mov ecx, dword [esi + 0x470]
mov ecx, dword [ecx]
add ecx, eax
mov eax, dword [esi + 0x470]
mov dword [eax], ecx
mov eax, dword [esi + 0x488]
mov dword [esi + 0x454], 0x626ad4c
mov dword [esi + 0x1c], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x480]
mov dword [eax], 0x400
mov eax, dword [esi + 0x480]
mov ecx, dword [esi + 0x45c]
mov dword [esi + 0x454], 0xd4006034
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], ecx
jmp 0x4c69b6
mov eax, dword [esi + 0x480]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4a0]
mov edx, dword [esi + 0x460]
mov edx, dword [edx]
mov edi, dword [esi + 0x47c]
add edx, dword [edi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040ba80
add esp, 0xc
mov ecx, dword [esi + 0x480]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x47c]
mov edx, dword [edx]
add edx, 0x248e0ae1
add edx, ecx
sub edx, 0x248e0ae1
mov ecx, dword [esi + 0x47c]
mov dword [ecx], edx
mov ecx, dword [esi + 0x480]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x45c]
mov edx, dword [edx]
sub edx, 0x2834e3f3
sub edx, ecx
add edx, 0x2834e3f3
mov ecx, dword [esi + 0x45c]
mov dword [ecx], edx
mov ecx, dword [esi + 0x488]
mov dword [ecx], 0x400
mov ecx, dword [esi + 0x488]
mov edx, dword [esi + 0x45c]
mov dword [esi + 0x454], 0x498f891a
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edx
jmp 0x4c69b6
mov eax, dword [esi + 0x45c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x488]
mov dword [ecx], eax
mov dword [esi + 0x454], 0x264f054
jmp 0x4c69b6
mov eax, dword [esi + 0x4a0]
mov ecx, dword [esi + 0x470]
mov dword [ecx], eax
mov dword [esi + 0x454], 0x32ea9782
jmp 0x4c69b6
mov dword [esi + 0x454], 0xf00f5f7d
jmp 0x4c69b6
mov dword [esi + 0x454], 0xe8f44ae1
jmp 0x4c69b6
mov eax, dword [esi + 0x488]
mov dword [esi + 0x454], 0x21eb33cc
mov dword [esi + 4], eax
jmp 0x4c69b6
mov eax, dword [esi + 0x474]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.004ce75b
add esp, 4
mov dword [esi + 0x454], 0x3e12c91d
jmp 0x4c3805