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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x318
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, 0
mov dword [esi + 0x2bc], eax
mov eax, dword [0x4ef4ac]
mov dword [esi + 0x2b8], eax
mov eax, dword [0x4ef4a8]
sub ebx, 1
mov dword [esi + 0x2b4], eax
mov eax, dword [esi + 0x2b8]
add eax, ebx
mov ebx, dword [esi + 0x2b8]
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
and al, 1
mov byte [esi + 0x2c6], al
mov ebx, dword [esi + 0x2b4]
cmp ebx, 0xa
setl al
and al, 1
mov byte [esi + 0x2c7], al
mov dword [esi + 0x2c0], 0x1a582428
mov dword [esi + 0x2b0], edi
mov dword [esi + 0x2ac], ecx
mov dword [esi + 0x2a8], edx
mov eax, dword [esi + 0x2c0]
mov ecx, eax
sub ecx, 0x88d66115
mov dword [esi + 0x2a4], eax
mov dword [esi + 0x2a0], ecx
jg 0x4c3263
jmp 0x4c3247
mov eax, dword [esi + 0x2a4]
sub eax, 0x8149979e
mov dword [esi + 0x29c], eax
je 0x4c4bed
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x90f1893e
mov dword [esi + 0x298], eax
jg 0x4c329b
jmp 0x4c327f
mov eax, dword [esi + 0x2a4]
sub eax, 0x88d66116
mov dword [esi + 0x294], eax
je 0x4c4fb6
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x7de17d96
mov dword [esi + 0x290], eax
jg 0x4c3c73
jmp 0x4c32b7
mov eax, dword [esi + 0x2a4]
sub eax, 0x91d9b6a9
mov dword [esi + 0x28c], eax
jg 0x4c32ef
jmp 0x4c32d3
mov eax, dword [esi + 0x2a4]
sub eax, 0x90f1893f
mov dword [esi + 0x288], eax
je 0x4c43bf
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x9795005f
mov dword [esi + 0x284], eax
jg 0x4c3327
jmp 0x4c330b
mov eax, dword [esi + 0x2a4]
sub eax, 0x91d9b6aa
mov dword [esi + 0x280], eax
je 0x4c421a
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xa368cea5
mov dword [esi + 0x27c], eax
jg 0x4c335f
jmp 0x4c3343
mov eax, dword [esi + 0x2a4]
sub eax, 0x97950060
mov dword [esi + 0x278], eax
je 0x4c473e
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xa83ea320
mov dword [esi + 0x274], eax
jg 0x4c3397
jmp 0x4c337b
mov eax, dword [esi + 0x2a4]
sub eax, 0xa368cea6
mov dword [esi + 0x270], eax
je 0x4c4057
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xac8a82af
mov dword [esi + 0x26c], eax
jg 0x4c33cf
jmp 0x4c33b3
mov eax, dword [esi + 0x2a4]
sub eax, 0xa83ea321
mov dword [esi + 0x268], eax
je 0x4c4494
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xae39f2b9
mov dword [esi + 0x264], eax
jg 0x4c3407
jmp 0x4c33eb
mov eax, dword [esi + 0x2a4]
sub eax, 0xac8a82b0
mov dword [esi + 0x260], eax
je 0x4c4fa7
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xb56b7c7b
mov dword [esi + 0x25c], eax
jg 0x4c343f
jmp 0x4c3423
mov eax, dword [esi + 0x2a4]
sub eax, 0xae39f2ba
mov dword [esi + 0x258], eax
je 0x4c4b88
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xbcee7f69
mov dword [esi + 0x254], eax
jg 0x4c3477
jmp 0x4c345b
mov eax, dword [esi + 0x2a4]
sub eax, 0xb56b7c7c
mov dword [esi + 0x250], eax
je 0x4c4fcd
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xc113662f
mov dword [esi + 0x24c], eax
jg 0x4c34af
jmp 0x4c3493
mov eax, dword [esi + 0x2a4]
sub eax, 0xbcee7f6a
mov dword [esi + 0x248], eax
je 0x4c4851
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xc5533629
mov dword [esi + 0x244], eax
jg 0x4c34e7
jmp 0x4c34cb
mov eax, dword [esi + 0x2a4]
sub eax, 0xc1136630
mov dword [esi + 0x240], eax
je 0x4c4066
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xc771b878
mov dword [esi + 0x23c], eax
jg 0x4c351f
jmp 0x4c3503
mov eax, dword [esi + 0x2a4]
sub eax, 0xc553362a
mov dword [esi + 0x238], eax
je 0x4c49c1
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xccf69ce9
mov dword [esi + 0x234], eax
jg 0x4c3557
jmp 0x4c353b
mov eax, dword [esi + 0x2a4]
sub eax, 0xc771b879
mov dword [esi + 0x230], eax
je 0x4c42ce
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xcd627f54
mov dword [esi + 0x22c], eax
jg 0x4c358f
jmp 0x4c3573
mov eax, dword [esi + 0x2a4]
sub eax, 0xccf69cea
mov dword [esi + 0x228], eax
je 0x4c4175
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xd118899f
mov dword [esi + 0x224], eax
jg 0x4c35c7
jmp 0x4c35ab
mov eax, dword [esi + 0x2a4]
sub eax, 0xcd627f55
mov dword [esi + 0x220], eax
je 0x4c4810
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xdae137ea
mov dword [esi + 0x21c], eax
jg 0x4c35ff
jmp 0x4c35e3
mov eax, dword [esi + 0x2a4]
sub eax, 0xd11889a0
mov dword [esi + 0x218], eax
je 0x4c49b2
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xdb72061a
mov dword [esi + 0x214], eax
jg 0x4c3637
jmp 0x4c361b
mov eax, dword [esi + 0x2a4]
sub eax, 0xdae137eb
mov dword [esi + 0x210], eax
je 0x4c482d
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xdc854964
mov dword [esi + 0x20c], eax
jg 0x4c366f
jmp 0x4c3653
mov eax, dword [esi + 0x2a4]
sub eax, 0xdb72061b
mov dword [esi + 0x208], eax
je 0x4c4343
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xe300ba5e
mov dword [esi + 0x204], eax
jg 0x4c36a7
jmp 0x4c368b
mov eax, dword [esi + 0x2a4]
sub eax, 0xdc854965
mov dword [esi + 0x200], eax
je 0x4c4a00
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xe38dffb6
mov dword [esi + 0x1fc], eax
jg 0x4c36df
jmp 0x4c36c3
mov eax, dword [esi + 0x2a4]
sub eax, 0xe300ba5f
mov dword [esi + 0x1f8], eax
je 0x4c49a3
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xe9830e54
mov dword [esi + 0x1f4], eax
jg 0x4c3717
jmp 0x4c36fb
mov eax, dword [esi + 0x2a4]
sub eax, 0xe38dffb7
mov dword [esi + 0x1f0], eax
je 0x4c4615
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xea32602e
mov dword [esi + 0x1ec], eax
jg 0x4c374f
jmp 0x4c3733
mov eax, dword [esi + 0x2a4]
sub eax, 0xe9830e55
mov dword [esi + 0x1e8], eax
je 0x4c43de
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xf62abf3e
mov dword [esi + 0x1e4], eax
jg 0x4c3787
jmp 0x4c376b
mov eax, dword [esi + 0x2a4]
sub eax, 0xea32602f
mov dword [esi + 0x1e0], eax
je 0x4c48fe
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xff94daf1
mov dword [esi + 0x1dc], eax
jg 0x4c37bf
jmp 0x4c37a3
mov eax, dword [esi + 0x2a4]
sub eax, 0xf62abf3f
mov dword [esi + 0x1d8], eax
je 0x4c438b
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0xd35be2
mov dword [esi + 0x1d4], eax
jg 0x4c37f7
jmp 0x4c37db
mov eax, dword [esi + 0x2a4]
sub eax, 0xff94daf2
mov dword [esi + 0x1d0], eax
je 0x4c47f1
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x49e5d43
mov dword [esi + 0x1cc], eax
jg 0x4c382f
jmp 0x4c3813
mov eax, dword [esi + 0x2a4]
sub eax, 0xd35be3
mov dword [esi + 0x1c8], eax
je 0x4c42ea
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x70ff0de
mov dword [esi + 0x1c4], eax
jg 0x4c3867
jmp 0x4c384b
mov eax, dword [esi + 0x2a4]
sub eax, 0x49e5d44
mov dword [esi + 0x1c0], eax
je 0x4c4cb8
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x7ee72b2
mov dword [esi + 0x1bc], eax
jg 0x4c389f
jmp 0x4c3883
mov eax, dword [esi + 0x2a4]
sub eax, 0x70ff0df
mov dword [esi + 0x1b8], eax
je 0x4c46ba
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x1a582427
mov dword [esi + 0x1b4], eax
jg 0x4c38d7
jmp 0x4c38bb
mov eax, dword [esi + 0x2a4]
sub eax, 0x7ee72b3
mov dword [esi + 0x1b0], eax
je 0x4c411e
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x1c54e457
mov dword [esi + 0x1ac], eax
jg 0x4c390f
jmp 0x4c38f3
mov eax, dword [esi + 0x2a4]
sub eax, 0x1a582428
mov dword [esi + 0x1a8], eax
je 0x4c3c94
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x1d2e0aa9
mov dword [esi + 0x1a4], eax
jg 0x4c3947
jmp 0x4c392b
mov eax, dword [esi + 0x2a4]
sub eax, 0x1c54e458
mov dword [esi + 0x1a0], eax
je 0x4c4f79
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x2082b9ac
mov dword [esi + 0x19c], eax
jg 0x4c397f
jmp 0x4c3963
mov eax, dword [esi + 0x2a4]
sub eax, 0x1d2e0aaa
mov dword [esi + 0x198], eax
je 0x4c4166
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x238474ea
mov dword [esi + 0x194], eax
jg 0x4c39b7
jmp 0x4c399b
mov eax, dword [esi + 0x2a4]
sub eax, 0x2082b9ad
mov dword [esi + 0x190], eax
je 0x4c3cc3
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x2a6db84a
mov dword [esi + 0x18c], eax
jg 0x4c39ef
jmp 0x4c39d3
mov eax, dword [esi + 0x2a4]
sub eax, 0x238474eb
mov dword [esi + 0x188], eax
je 0x4c45e1
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x34714883
mov dword [esi + 0x184], eax
jg 0x4c3a27
jmp 0x4c3a0b
mov eax, dword [esi + 0x2a4]
sub eax, 0x2a6db84b
mov dword [esi + 0x180], eax
je 0x4c40ea
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x41dba538
mov dword [esi + 0x17c], eax
jg 0x4c3a5f
jmp 0x4c3a43
mov eax, dword [esi + 0x2a4]
sub eax, 0x34714884
mov dword [esi + 0x178], eax
je 0x4c40f9
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x4340be9a
mov dword [esi + 0x174], eax
jg 0x4c3a97
jmp 0x4c3a7b
mov eax, dword [esi + 0x2a4]
sub eax, 0x41dba539
mov dword [esi + 0x170], eax
je 0x4c4367
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x77d55f64
mov dword [esi + 0x16c], eax
jg 0x4c3c57
jmp 0x4c3ab3
mov eax, dword [esi + 0x2a4]
sub eax, 0x77716b40
mov dword [esi + 0x168], eax
jg 0x4c3c3b
jmp 0x4c3acf
mov eax, dword [esi + 0x2a4]
sub eax, 0x64b3b5da
mov dword [esi + 0x164], eax
jg 0x4c3c1f
jmp 0x4c3aeb
mov eax, dword [esi + 0x2a4]
sub eax, 0x62df5308
mov dword [esi + 0x160], eax
jg 0x4c3c03
jmp 0x4c3b07
mov eax, dword [esi + 0x2a4]
sub eax, 0x5b526921
mov dword [esi + 0x15c], eax
jg 0x4c3be7
jmp 0x4c3b23
mov eax, dword [esi + 0x2a4]
sub eax, 0x5b161112
mov dword [esi + 0x158], eax
jg 0x4c3bcb
jmp 0x4c3b3f
mov eax, dword [esi + 0x2a4]
sub eax, 0x5572657f
mov dword [esi + 0x154], eax
jg 0x4c3baf
jmp 0x4c3b5b
mov eax, dword [esi + 0x2a4]
sub eax, 0x4340be9b
mov dword [esi + 0x150], eax
je 0x4c4a4b
jmp 0x4c3b77
mov eax, dword [esi + 0x2a4]
sub eax, 0x43508b2e
mov dword [esi + 0x14c], eax
je 0x4c4ca9
jmp 0x4c3b93
mov eax, dword [esi + 0x2a4]
sub eax, 0x4524b940
mov dword [esi + 0x148], eax
je 0x4c472f
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x55726580
mov dword [esi + 0x144], eax
je 0x4c4f88
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x5b161113
mov dword [esi + 0x140], eax
je 0x4c4b67
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x5b526922
mov dword [esi + 0x13c], eax
je 0x4c4036
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x62df5309
mov dword [esi + 0x138], eax
je 0x4c49e5
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x64b3b5db
mov dword [esi + 0x134], eax
je 0x4c4aa9
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x77716b41
mov dword [esi + 0x130], eax
je 0x4c42bf
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x77d55f65
mov dword [esi + 0x12c], eax
je 0x4c4cc8
jmp 0x4c3c8f
mov eax, dword [esi + 0x2a4]
sub eax, 0x7de17d97
mov dword [esi + 0x128], eax
je 0x4c4a25
jmp 0x4c3c8f
jmp 0x4c4fee
mov eax, 0x77d55f65
mov ecx, 0x2082b9ad
mov dl, byte [esi + 0x2c6]
mov dh, byte [esi + 0x2c7]
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 5
mov ecx, 0
mov edx, 0x8c
mov edi, 4
mov dword [esi + 0x124], eax
mov eax, edi
mov dword [esi + 0x120], edi
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x118], edx
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2c8], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2cc], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2d0], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2d4], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2d8], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2dc], eax
mov eax, 0x8c
call fcn.004cbb80
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x2e0], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2e4], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2ec], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2f0], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2f4], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2f8], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x2fc], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x300], eax
mov eax, dword [esi + 0x120]
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x304], eax
mov eax, 0x400
mov dword [esi + 0x114], eax
call fcn.004cbb80
mov eax, esp
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x114]
call fcn.004cbb80
mov eax, esp
mov ecx, 8
mov dword [esi + 0x30c], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x2c8]
mov edx, dword [esi + 0x2a8]
mov dword [ecx], edx
mov ecx, dword [esi + 0x2cc]
mov edi, dword [esi + 0x2b0]
mov dword [ecx], edi
mov ecx, dword [esi + 0x2d0]
mov ebx, dword [esi + 0x2ac]
mov dword [ecx], ebx
mov ecx, dword [esi + 0x2d4]
mov edx, dword [esi + 0x2bc]
mov dword [ecx], edx
mov ecx, dword [esi + 0x2d8]
mov dword [ecx], 0
mov ecx, dword [esi + 0x2dc]
mov dword [ecx], 0
mov ecx, dword [esi + 0x2e0]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x8c
mov dword [esi + 0x110], eax
call fcn.004cbdb0
add esp, 0xc
mov eax, dword [esi + 0x2e4]
mov dword [eax], 0xd
mov eax, dword [esi + 0x2e8]
mov dword [eax], 0
mov eax, dword [esi + 0x2f0]
mov dword [eax], 0
mov eax, dword [esi + 0x2f4]
mov dword [eax], 0x400
mov eax, dword [esi + 0x300]
mov dword [eax], 0xffffffff
mov eax, dword [esi + 0x2d4]
mov eax, dword [eax]
mov ecx, dword [esi + 0x110]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.0040a6d0
add esp, 0xc
mov ecx, 5
mov edx, dword [esi + 0x2e0]
sub esp, 0xc
mov dword [esp], edx
mov edx, dword [esi + 0x110]
mov dword [esp + 4], edx
mov dword [esp + 8], 5
mov dword [esi + 0x10c], eax
mov dword [esi + 0x108], ecx
call fcn.004c5000
add esp, 0xc
mov ecx, 0x77d55f65
mov edx, 0x5b526922
mov bl, 1
cmp eax, 0
setne bh
and bh, 1
mov byte [esi + 0x312], bh
mov eax, dword [0x4ef4ac]
mov edi, dword [0x4ef4a8]
mov dword [esi + 0x104], eax
sub eax, 0x999d2f65
sub eax, 1
add eax, 0x999d2f65
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0xfc], ecx
mov ecx, dword [esi + 0x100]
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, 1
mov ch, ah
and ch, 1
and bh, bl
mov byte [esi + 0xfb], al
mov al, cl
and al, 1
mov byte [esi + 0xfa], al
mov al, byte [esi + 0xfb]
and al, bl
or ch, bh
mov bh, byte [esi + 0xfa]
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 + 0xfc]
cmovne edi, edx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, 0xc1136630
mov ecx, 0xa368cea6
mov dl, byte [esi + 0x312]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xdc854965
jmp 0x4c4fee
mov eax, 0xf8f1d182
mov ecx, 0x300
mov edx, dword [esi + 0x2e0]
mov edx, dword [edx]
mov edi, dword [esi + 0x2e0]
mov edi, dword [edi + 4]
add edx, 0xefc8fb87
add edx, edi
sub edx, 0xefc8fb87
mov dword [esi + 0xf4], ecx
mov ecx, edx
mov edx, dword [esi + 0xf4]
shl edx, cl
add eax, 0x736
add eax, edx
sub eax, 0xf8f1d182
shl eax, 1
sub esp, 4
mov dword [esp], eax
call fcn.004cbe63
add esp, 4
mov edx, 0x2a6db84b
mov edi, 0x34714884
mov ebx, dword [esi + 0x2e0]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x2e0]
cmp dword [eax + 0x10], 0
cmovne edx, edi
mov dword [esi + 0x2c0], edx
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xdc854965
jmp 0x4c4fee
mov eax, 0xc771b879
mov ecx, 0x7ee72b3
mov edx, dword [esi + 0x2e0]
cmp dword [edx + 0xc], 0
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov eax, dword [eax + 0xc]
shl eax, 0
sub esp, 4
mov dword [esp], eax
call fcn.004cbe63
add esp, 4
mov ecx, 0x1d2e0aaa
mov edx, 0xccf69cea
mov edi, dword [esi + 0x2e0]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x2e0]
cmp dword [eax + 0x14], 0
cmovne ecx, edx
mov dword [esi + 0x2c0], ecx
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xdc854965
jmp 0x4c4fee
mov eax, 0x1c54e458
mov ecx, 0x91d9b6aa
mov dl, 1
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0xf0], eax
mov eax, edi
add eax, 0xa434d714
sub eax, 1
sub eax, 0xa434d714
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 + 0xef], al
mov al, bl
and al, 0
mov byte [esi + 0xee], al
mov al, byte [esi + 0xef]
and al, dl
or bh, dh
mov dh, byte [esi + 0xee]
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 + 0xf0]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, 0x1c54e458
mov ecx, 0x77716b41
mov dl, 1
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0xe8], eax
mov eax, edi
add eax, 0xad0c5482
sub eax, 1
sub eax, 0xad0c5482
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 + 0xe7], al
mov al, bl
and al, 0
mov byte [esi + 0xe6], al
mov al, byte [esi + 0xe7]
and al, dl
or bh, dh
mov dh, byte [esi + 0xe6]
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 + 0xe8]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xd35be3
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov dword [eax + 0x14], 0
mov dword [esi + 0x2c0], 0xd35be3
jmp 0x4c4fee
mov eax, dword [esi + 0x30c]
mov ecx, dword [esi + 0x2dc]
mov dword [ecx], eax
mov eax, dword [esi + 0x2d0]
mov eax, dword [eax]
add eax, 0x3f52c08f
sub eax, 0xd
sub eax, 0x3f52c08f
mov ecx, dword [esi + 0x2d0]
mov dword [ecx], eax
mov eax, dword [esi + 0x2e0]
mov dword [eax + 0x84], 0xfffffffe
mov eax, dword [esi + 0x2e0]
mov dword [eax + 0x58], 0
mov dword [esi + 0x2c0], 0xdb72061b
jmp 0x4c4fee
mov eax, 0xa83ea321
mov ecx, 0x41dba539
mov edx, dword [esi + 0x2f0]
cmp dword [edx], 0
cmove eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0xa83ea321
mov ecx, 0xf62abf3f
mov edx, dword [esi + 0x2d0]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0xe9830e55
mov ecx, 0x90f1893f
mov edx, dword [esi + 0x2ec]
mov dword [edx], 0x400
mov edx, dword [esi + 0x2ec]
mov edx, dword [edx]
mov edi, dword [esi + 0x2d0]
cmp edx, dword [edi]
cmova eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x2d0]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2ec]
mov dword [ecx], eax
mov dword [esi + 0x2c0], 0xe9830e55
jmp 0x4c4fee
mov eax, dword [esi + 0x2ec]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2d4]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x2e4]
add ecx, dword [edx]
mov edx, dword [esi + 0x308]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a6d0
add esp, 0xc
mov ecx, 0
mov edx, dword [esi + 0x2ec]
mov edx, dword [edx]
mov edi, dword [esi + 0x2e4]
mov edi, dword [edi]
mov ebx, ecx
sub ebx, edi
mov edi, ecx
sub edi, edx
add ebx, edi
sub ecx, ebx
mov edx, dword [esi + 0x2e4]
mov dword [edx], ecx
mov ecx, dword [esi + 0x2ec]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x2d0]
mov edx, dword [edx]
add edx, 0xbc3c6923
sub edx, ecx
sub edx, 0xbc3c6923
mov ecx, dword [esi + 0x2d0]
mov dword [ecx], edx
mov ecx, dword [esi + 0x2ec]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x2f0]
mov dword [edx], ecx
mov ecx, dword [esi + 0x308]
mov edx, dword [esi + 0x2d8]
mov dword [edx], ecx
mov dword [esi + 0x2c0], 0xa83ea321
mov dword [esi + 0xe0], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x2f0]
cmp dword [eax], 0
sete cl
and cl, 1
movzx eax, cl
mov edx, dword [esi + 0x2f4]
mov edx, dword [edx]
mov edi, dword [esi + 0x2dc]
mov edi, dword [edi]
mov ebx, dword [esi + 0x2f0]
mov ebx, dword [ebx]
mov ecx, dword [esi + 0x2d8]
mov ecx, dword [ecx]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0x2e0]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x2f8]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x2fc]
sub esp, 0x20
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esi + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0xd0]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xdc]
mov dword [esp + 0x1c], eax
call fcn.004c56e0
add esp, 0x20
mov ecx, 0xdae137eb
mov edx, 0x238474eb
mov edi, dword [esi + 0x304]
mov dword [edi], eax
mov eax, dword [esi + 0x2f8]
mov eax, dword [eax]
mov edi, dword [esi + 0x2f0]
mov edi, dword [edi]
add edi, 0x241f6211
sub edi, eax
sub edi, 0x241f6211
mov eax, dword [esi + 0x2f0]
mov dword [eax], edi
mov eax, dword [esi + 0x2f8]
mov eax, dword [eax]
mov edi, dword [esi + 0x2d8]
mov edi, dword [edi]
add edi, eax
mov eax, dword [esi + 0x2d8]
mov dword [eax], edi
mov eax, dword [esi + 0x2fc]
mov eax, dword [eax]
mov edi, dword [esi + 0x2f4]
mov edi, dword [edi]
add edi, 0xad691276
sub edi, eax
sub edi, 0xad691276
mov eax, dword [esi + 0x2f4]
mov dword [eax], edi
mov eax, dword [esi + 0x2fc]
mov eax, dword [eax]
mov edi, dword [esi + 0x2dc]
mov edi, dword [edi]
add edi, eax
mov eax, dword [esi + 0x2dc]
mov dword [eax], edi
mov eax, dword [esi + 0x2f4]
cmp dword [eax], 0
cmove ecx, edx
mov dword [esi + 0x2c0], ecx
jmp 0x4c4fee
mov eax, 0x97950060
mov ecx, 0xe38dffb7
mov edx, dword [esi + 0x2ec]
mov dword [edx], 0x400
mov edx, dword [esi + 0x2ec]
mov edx, dword [edx]
mov edi, dword [esi + 0x2c8]
cmp edx, dword [edi]
cmova eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0x55726580
mov ecx, 0x70ff0df
mov dl, 1
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0xcc], eax
mov eax, edi
add eax, 0x830c19f4
sub eax, 1
sub eax, 0x830c19f4
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 + 0xcb], al
mov al, bl
and al, 1
mov byte [esi + 0xca], al
mov al, byte [esi + 0xcb]
and al, dl
or bh, dh
mov dh, byte [esi + 0xca]
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 + 0xcc]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, 0x55726580
mov ecx, 0x4524b940
mov edx, 0
mov edi, dword [esi + 0x2c8]
mov edi, dword [edi]
mov ebx, dword [esi + 0x2ec]
mov dword [ebx], edi
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
sub edx, 1
mov dword [esi + 0xc4], 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 + 0xc4]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0x97950060
jmp 0x4c4fee
mov eax, dword [esi + 0x2ec]
mov eax, dword [eax]
mov ecx, dword [esi + 0x30c]
mov edx, dword [esi + 0x2cc]
mov edx, dword [edx]
mov edi, dword [esi + 0x2e8]
add edx, dword [edi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a6d0
add esp, 0xc
mov ecx, 0xcd627f55
mov edx, 0xff94daf2
mov edi, 0
mov ebx, dword [esi + 0x2ec]
mov ebx, dword [ebx]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x2e8]
mov eax, dword [eax]
add eax, 0x6cd0a39e
add eax, ebx
sub eax, 0x6cd0a39e
mov ebx, dword [esi + 0x2e8]
mov dword [ebx], eax
mov eax, dword [esi + 0x2ec]
mov eax, dword [eax]
mov ebx, dword [esi + 0x2c8]
mov ebx, dword [ebx]
sub edi, eax
add ebx, edi
mov eax, dword [esi + 0x2c8]
mov dword [eax], ebx
mov eax, dword [esi + 0x2f4]
mov dword [eax], 0x400
mov eax, dword [esi + 0x2f4]
mov eax, dword [eax]
mov edi, dword [esi + 0x2c8]
cmp eax, dword [edi]
cmova ecx, edx
mov dword [esi + 0x2c0], ecx
jmp 0x4c4fee
mov eax, dword [esi + 0x2c8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2f4]
mov dword [ecx], eax
mov dword [esi + 0x2c0], 0xcd627f55
jmp 0x4c4fee
mov eax, dword [esi + 0x30c]
mov ecx, dword [esi + 0x2dc]
mov dword [ecx], eax
mov dword [esi + 0x2c0], 0xdae137eb
jmp 0x4c4fee
mov eax, 0xd11889a0
mov ecx, 0xbcee7f6a
mov edx, dword [esi + 0x304]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0xac8a82b0
mov ecx, 0xea32602f
mov dl, 1
mov edi, 0
mov ebx, dword [0x4ef4ac]
mov dword [esi + 0xbc], eax
mov eax, dword [0x4ef4a8]
sub edi, 1
mov dword [esi + 0xb8], eax
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0xb8]
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 + 0xb7], al
mov al, bl
and al, 0
mov byte [esi + 0xb6], al
mov al, byte [esi + 0xb7]
and al, dl
or bh, dh
mov dh, byte [esi + 0xb6]
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 + 0xbc]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, 0xac8a82b0
mov ecx, 0xe300ba5f
mov dl, 1
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0xb0], eax
mov eax, edi
add eax, 0x578ca4d0
sub eax, 1
sub eax, 0x578ca4d0
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 + 0xaf], al
mov al, bl
and al, 1
mov byte [esi + 0xae], al
mov al, byte [esi + 0xaf]
and al, dl
or bh, dh
mov dh, byte [esi + 0xae]
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 + 0xb0]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xdc854965
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xc553362a
jmp 0x4c4fee
mov eax, 0x62df5309
mov ecx, 0xdb72061b
mov edx, dword [esi + 0x2f4]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x300]
mov dword [eax], 0
mov dword [esi + 0x2c0], 0xdc854965
jmp 0x4c4fee
mov eax, 0x4340be9b
mov ecx, 0x7de17d97
mov edx, dword [esi + 0x2e0]
cmp dword [edx + 0x14], 0
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.004cbbab
add esp, 4
mov dword [esi + 0x2c0], 0x4340be9b
jmp 0x4c4fee
mov eax, 0x88d66116
mov ecx, 0x64b3b5db
mov edx, dword [0x4ef4ac]
mov edi, dword [0x4ef4a8]
mov ebx, edx
sub ebx, 0xf3a33cc7
sub ebx, 1
add ebx, 0xf3a33cc7
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 + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0x88d66116
mov ecx, 0x5b161113
mov dl, 1
mov edi, dword [esi + 0x2e0]
cmp dword [edi + 0x10], 0
setne dh
and dh, 1
mov byte [esi + 0x313], dh
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0xa8], eax
mov eax, edi
add eax, 0x72bd1dcf
sub eax, 1
sub eax, 0x72bd1dcf
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 + 0xa7], al
mov al, bl
and al, 1
mov byte [esi + 0xa6], al
mov al, byte [esi + 0xa7]
and al, dl
or bh, dh
mov dh, byte [esi + 0xa6]
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 + 0xa8]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, 0x49e5d44
mov ecx, 0xae39f2ba
mov dl, byte [esi + 0x313]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c0], eax
jmp 0x4c4fee
mov eax, 0xb56b7c7c
mov ecx, 0x8149979e
mov edx, 0
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
sub edx, 1
mov dword [esi + 0xa0], 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 + 0xa0]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov eax, dword [eax + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.004cbbab
add esp, 4
mov eax, 0xb56b7c7c
mov ecx, 0x43508b2e
mov dl, 1
mov edi, dword [0x4ef4ac]
mov ebx, dword [0x4ef4a8]
mov dword [esi + 0x9c], eax
mov eax, edi
add eax, 0x34433105
sub eax, 1
sub eax, 0x34433105
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 + 0x9b], al
mov al, bl
and al, 1
mov byte [esi + 0x9a], al
mov al, byte [esi + 0x9b]
and al, dl
or bh, dh
mov dh, byte [esi + 0x9a]
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 + 0x9c]
cmovne edi, ecx
mov dword [esi + 0x2c0], edi
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0x49e5d44
jmp 0x4c4fee
mov eax, dword [esi + 0x300]
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 + 0x94], eax
mov eax, edi
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], edx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x84], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x80], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x7c], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x78], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x74], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, 0x8c
mov dword [esi + 0x70], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x6c], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x68], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x90]
mov dword [esi + 0x64], eax
mov eax, edx
mov dword [esi + 0x60], ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x5c], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x58], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x54], eax
mov eax, ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x90]
mov dword [esi + 0x50], eax
mov eax, edx
mov dword [esi + 0x4c], ecx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x90]
mov dword [esi + 0x48], eax
mov eax, edx
mov dword [esi + 0x44], ecx
call fcn.004cbb80
mov eax, dword [esi + 0x58]
mov ecx, esp
mov edx, dword [esi + 0x90]
mov dword [esi + 0x40], eax
mov eax, edx
mov dword [esi + 0x3c], ecx
call fcn.004cbb80
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x70]
mov edx, esp
mov edi, 0x400
mov dword [esi + 0x38], eax
mov eax, edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], ecx
mov dword [esi + 0x2c], edx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x28], eax
mov eax, ecx
call fcn.004cbb80
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x64]
mov edx, 8
mov edi, esp
mov ebx, dword [esi + 0x80]
mov dword [esi + 0x24], eax
mov eax, edx
mov dword [esi + 0x20], edi
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x18], ebx
call fcn.004cbb80
mov eax, esp
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x2a8]
mov dword [edi], ebx
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x2b0]
mov dword [edi], ebx
mov edi, dword [esi + 0x2ac]
mov dword [ecx], edi
mov ecx, dword [esi + 0x44]
mov edi, dword [esi + 0x2bc]
mov dword [ecx], edi
mov ecx, dword [esi + 0x60]
mov dword [ecx], 0
mov ecx, dword [esi + 0x30]
mov dword [ecx], 0
mov ecx, dword [esi + 0x6c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x8c
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], edx
call fcn.004cbdb0
add esp, 0xc
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xd
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 0
mov edx, dword [esi + 0x40]
mov dword [edx], 0
mov edi, dword [esi + 0x38]
mov dword [edi], 0x400
mov ebx, dword [esi + 0x10]
mov dword [ebx], 0xffffffff
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov ecx, dword [esi + 0x14]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.0040a6d0
add esp, 0xc
mov ecx, 5
sub esp, 0xc
mov edx, dword [esi + 0x6c]
mov dword [esp], edx
mov edi, dword [esi + 0x14]
mov dword [esp + 4], edi
mov dword [esp + 8], 5
mov dword [esi + 0xc], eax
mov dword [esi + 8], ecx
call fcn.004c5000
add esp, 0xc
mov dword [esi + 0x2c0], 0x2082b9ad
mov dword [esi + 4], eax
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0x91d9b6aa
jmp 0x4c4fee
mov eax, dword [esi + 0x2c8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2ec]
mov dword [ecx], eax
mov dword [esi + 0x2c0], 0x70ff0df
jmp 0x4c4fee
mov dword [esi + 0x2c0], 0xea32602f
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov dword [esi + 0x2c0], 0x64b3b5db
mov dword [esi], eax
jmp 0x4c4fee
mov eax, dword [esi + 0x2e0]
mov eax, dword [eax + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.004cbbab
add esp, 4
mov dword [esi + 0x2c0], 0x8149979e
jmp 0x4c3222