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

Disassembly:
sub esp, 0x16c
push esi
mov esi, ecx
mov al, byte [esi + 0x450]
test al, al
je 0x4ef2bb
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
push ebx
push edi
jbe 0x4ee285
mov eax, ecx
cmp eax, 1
jne 0x4edf7d
push 0x6e15d8
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
mov edi, dword [0x74e914]
mov ebx, dword [0x6ec29c]
lea edx, [ecx + 0x41]
add ecx, 0x15f
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], eax
call fcn.005787a0
mov edx, dword [edi]
add esp, 4
push 0
push ebx
push 0
push 5
push 0xffefc400
lea ecx, [esp + 0x44]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, edi
call dword [edx + 0x94]
jmp 0x4ee22b
cmp eax, 2
jne 0x4edf89
push 0x6e15cc
jmp 0x4edf16
cmp eax, 3
jne 0x4edfdb
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e15c0
jmp 0x4ee211
cmp eax, 4
jne 0x4ee02d
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e15b4
jmp 0x4ee211
cmp eax, 5
jne 0x4ee07f
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e15a8
jmp 0x4ee211
cmp eax, 6
jne 0x4ee0d1
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e159c
jmp 0x4ee211
cmp eax, 7
jne 0x4ee123
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e1590
jmp 0x4ee211
cmp eax, 8
jne 0x4ee175
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e1584
jmp 0x4ee211
cmp eax, 9
jne 0x4ee1c4
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e1578
jmp 0x4ee211
cmp eax, 0xa
jb 0x4ee22b
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
lea edx, [ecx + 0x41]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [0x6ec29c]
push edx
add ecx, 0x15f
push 0
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x82]
add eax, 0x90
push 5
mov dword [esp + 0x4c], eax
push 0xffefc400
lea eax, [esp + 0x44]
push eax
push 0x6e156c
mov edi, dword [0x74e914]
mov dword [esp + 0x50], ecx
call fcn.005787a0
add esp, 4
mov ecx, edi
push eax
call fcn.0041f760
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
mov edi, dword [0x74e914]
mov ebx, dword [0x6ec29c]
lea edx, [ecx + 0xa4]
add ecx, 0x15f
mov dword [esp + 0x48], ecx
lea ecx, [eax + 0x82]
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x4a8]
add eax, 0x90
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], eax
movzx eax, word [edx + 8]
push eax
push 0x6de65c
call fcn.005787a0
lea ecx, [esp + 0x48]
jmp 0x4ee2d5
mov edx, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov ebx, dword [0x6ec29c]
lea edi, [edx + 0x71]
add edx, 0x15f
mov dword [esp + 0x38], edx
lea edx, [ecx + 0x82]
add ecx, 0x90
mov dword [esp + 0x30], edi
mov edi, dword [0x74e914]
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
movzx eax, word [eax + 8]
push eax
push 0x6de65c
call fcn.005787a0
lea ecx, [esp + 0x38]
mov edx, dword [edi]
add esp, 8
push 0
push ebx
push 0
push 5
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
mov ecx, edi
push eax
call dword [edx + 0x94]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push ebp
push 0
call dword [edx + 0x80]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x4a4]
lea ebp, [eax + 0x7c]
xor eax, eax
mov dword [esp + 0x55], eax
mov dword [esp + 0x59], eax
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x69], eax
mov dword [esp + 0x6d], eax
mov word [esp + 0x71], ax
lea ebx, [ecx + 0xa7]
mov byte [esp + 0x54], 0
mov byte [esp + 0x73], al
movzx eax, byte [edx + 0x59]
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [0x74c4f0]
push eax
mov dword [esp + 0x3c], ebp
call fcn.00424320
mov ecx, dword [0x74e914]
mov edx, dword [0x6ec29c]
lea eax, [esp + 0x54]
push eax
push 0x6e1564
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], edx
call fcn.005787a0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
add esp, 8
mov dword [esp + 0x10], eax
push 0
mov eax, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
push eax
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
mov edi, 0xffff
push eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call dword [edx + 0x94]
mov eax, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push 0
add ebx, 0x18
push eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [0x74ce10]
push 0xffffffffffffffff
add eax, 0x5a8
push eax
call dword [edx + 0x94]
mov eax, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push 0
push eax
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x58]
push eax
mov eax, dword [0x74ce10]
push 0xffffffffffffffff
add eax, 0x72e
add ebx, 0x18
push eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call dword [edx + 0x94]
mov ecx, dword [0x74e914]
mov eax, dword [esi + 0x4a4]
mov edx, dword [0x6ec29c]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x5f]
add ebx, 0x18
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x18], edx
call fcn.00512ca0
add esp, 4
push 0
mov edx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [eax + 0x94]
mov ecx, dword [esi + 0x4a4]
mov edx, dword [ecx + 0x63]
mov eax, dword [0x6ec29c]
add ebx, 0x18
mov dword [esp + 0x14], ebp
mov ebp, dword [0x74e914]
push edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
call fcn.00512d40
mov ecx, dword [esp + 0x18]
mov edx, ebx
add esp, 4
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [ebp]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
push 0
push ecx
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebp
call dword [edx + 0x94]
mov edx, dword [esi + 0x4a4]
mov eax, dword [edx + 0x29]
mov ecx, dword [0x6ec29c]
mov ebp, eax
and ebp, 0x10000
add ebx, 0x18
neg ebp
sbb ebp, ebp
not ebp
and ebp, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], ebx
mov ebx, dword [0x74e914]
push ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
call fcn.0041f3a0
push ebp
mov dword [esp + 0x1c], eax
call fcn.004333c0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add esp, 8
push 0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x38], edx
mov edx, dword [ebx]
push eax
mov ecx, ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov edx, dword [esi + 0x4a8]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
mov ebx, eax
mov eax, dword [edx + 0x96]
add ecx, 0xa6
cmp eax, 5
mov ebp, ecx
jae 0x4ee5e7
mov ecx, dword [0x6ec29c]
mov edx, dword [eax*4 + 0x728f38]
push 0
push ecx
mov ecx, dword [0x74e914]
push 0
push 0xffffffffffffffff
push ebp
push ebx
push edx
call fcn.0041a850
mov ecx, dword [esi + 0x4a8]
mov ecx, dword [ecx + 0xc2]
cmp ecx, 9
lea eax, [ebp + 0x18]
jbe 0x4ee614
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 0xffffffffffffffff
push eax
push ebx
push 0x6e155c
jmp 0x4ee744
jne 0x4ee632
mov ecx, dword [0x6ec29c]
push 0
push ecx
push 0
push 0xffb800ed
push eax
push ebx
push 0x6e1554
jmp 0x4ee744
cmp ecx, 8
jne 0x4ee653
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e0260
jmp 0x4ee744
cmp ecx, 7
jne 0x4ee674
mov ecx, dword [0x6ec29c]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e0268
jmp 0x4ee744
cmp ecx, 6
jne 0x4ee695
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e0270
jmp 0x4ee744
cmp ecx, 5
jne 0x4ee6b6
mov ecx, dword [0x6ec29c]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e154c
jmp 0x4ee744
cmp ecx, 4
jne 0x4ee6d4
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e0280
jmp 0x4ee744
cmp ecx, 3
jne 0x4ee6f2
mov ecx, dword [0x6ec29c]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e1544
jmp 0x4ee744
cmp ecx, 2
jne 0x4ee710
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e153c
jmp 0x4ee744
cmp ecx, 1
jne 0x4ee72e
mov ecx, dword [0x6ec29c]
push 0
push ecx
push 0
push 0xff00ff00
push eax
push ebx
push 0x6e1534
jmp 0x4ee744
test ecx, ecx
jne 0x4ee75a
mov edx, dword [0x6ec29c]
push ecx
push edx
push ecx
push 0xffffffffffffffff
push eax
push ebx
push 0x6e152c
mov ebp, dword [0x74e914]
call fcn.005787a0
add esp, 4
mov ecx, ebp
push eax
call fcn.0041a850
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x4a4]
lea ebp, [eax + 0x104]
lea eax, [ecx + 0xbf]
mov ecx, dword [0x6ec29c]
mov ebx, eax
mov eax, dword [0x74e914]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x5f]
push eax
push 0x6d6fe8
add ebx, 0x18
mov dword [esp + 0x1c], ecx
call fcn.005787a0
add esp, 8
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
push eax
push 0
push 0
mov ecx, ebp
push 0xffffffffffffffff
mov dword [esp + 0x30], ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov ecx, dword [0x74e914]
mov eax, dword [esi + 0x4a4]
mov edx, dword [0x6ec29c]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x63]
push ecx
add ebx, 0x18
push 0x6d6fe8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], edx
call fcn.005787a0
add esp, 8
push 0
mov edx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [eax + 0x94]
mov eax, dword [0x74e914]
mov edx, dword [esi + 0x4a8]
mov ecx, dword [0x6ec29c]
mov dword [esp + 0x10], eax
movzx eax, word [edx + 0x5c]
push eax
add ebx, 0x18
push 0x6d6fe8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], ecx
call fcn.005787a0
add esp, 8
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
push eax
push 0
push 0
mov ecx, ebp
push 0xffffffffffffffff
mov dword [esp + 0x30], ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0xa6]
mov eax, dword [eax + 0xa2]
mov ecx, dword [0x6ec29c]
push edx
add ebx, 0x18
push eax
mov dword [esp + 0x40], ebx
mov ebx, dword [0x74e914]
push 0x6de458
mov dword [esp + 0x1c], ecx
call fcn.005787a0
mov ecx, dword [esp + 0x44]
mov edx, dword [ebx]
add esp, 0xc
push 0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
push ecx
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [0x6ec29c]
mov ebx, dword [0x74e914]
add eax, 0x91
add ecx, 0x14d
mov ebp, eax
mov eax, dword [esi + 0x4a8]
mov dword [esp + 0x38], ecx
movzx ecx, word [eax + 0x70]
push ecx
push 0x6d6fe8
mov dword [esp + 0x18], edx
call fcn.005787a0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
add esp, 8
push 0
push ecx
push 0
push 0
mov dword [esp + 0x30], edx
mov edx, dword [ebx]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
push 0xffffffffffffffff
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push eax
mov ecx, ebx
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
lea ebp, [eax + 0x7d]
lea eax, [ecx + 0x153]
mov ebx, eax
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x66]
add ebx, 0x14
cmp dx, word [eax + 0x8c]
jne 0x4ee9d6
mov dword [esp + 0x2c], 0xffffffff
jmp 0x4ee9f7
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x66]
cmp word [eax + 0x8c], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x2c], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x14], edx
movzx edx, word [ecx + 0x66]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x34]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x6a]
add ebx, 0x14
cmp dx, word [eax + 0x90]
jne 0x4eea7e
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eea9f
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x6a]
cmp word [eax + 0x90], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x6a]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x68]
add ebx, 0x14
cmp dx, word [eax + 0x8e]
jne 0x4eeb26
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eeb47
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x68]
cmp word [eax + 0x8e], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x68]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x6c]
add ebx, 0x14
cmp dx, word [eax + 0x92]
jne 0x4eebce
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eebef
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x6c]
cmp word [eax + 0x92], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x6c]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x64]
add ebx, 0x14
cmp dx, word [eax + 0x8a]
jne 0x4eec76
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eec97
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x64]
cmp word [eax + 0x8a], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + 0x64]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov dx, word [eax + 0x5a]
add ebx, 0x14
cmp dx, word [eax + 0x88]
jne 0x4eed1e
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eed3f
mov eax, dword [esi + 0x4a8]
mov cx, word [eax + 0x5a]
cmp word [eax + 0x88], cx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x4a8]
movzx ecx, word [eax + 0x5a]
mov edx, dword [0x6ec29c]
push ecx
mov dword [esp + 0x3c], ebx
mov ebx, dword [0x74e914]
push 0x6d6fe8
mov dword [esp + 0x18], edx
call fcn.005787a0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
add esp, 8
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x3c], edx
mov edx, dword [ebx]
push eax
mov ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
mov edx, eax
mov ax, word [esi + 0x4a0]
add ecx, 0x14d
test ax, ax
je 0x4eedf9
cmp ax, di
je 0x4eedf9
mov ebp, dword [0x6ec29c]
mov ebx, dword [0x74e914]
push 0
push ebp
push 0
push 0xffffffffffffffff
push ecx
push edx
movzx edx, ax
push edx
push 0x6d6fe8
call fcn.005787a0
add esp, 8
push eax
mov ecx, ebx
call fcn.0041a850
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
add eax, 0x10e
lea ebp, [eax - 0x1e]
mov eax, dword [esi + 0x4a8]
mov eax, dword [eax + 0xc2]
add ecx, 0x152
test eax, eax
lea ebx, [ecx + 0x14]
je 0x4eeeab
cmp eax, 3
je 0x4eeeab
cmp eax, 4
je 0x4eeeab
cmp eax, 5
je 0x4eeeab
cmp eax, 6
je 0x4eeeab
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x2e]
cmp ecx, dword [eax + 0x78]
jne 0x4eee51
or eax, 0xffffffff
jmp 0x4eee69
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x2e]
cmp dword [eax + 0x78], edx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov edx, dword [0x6ec29c]
mov ecx, dword [0x74e914]
push 0
push edx
push 0
push eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x4a8]
mov eax, dword [ecx + 0x32]
mov ecx, dword [ecx + 0x2e]
push ebx
push ebp
push eax
push ecx
push 0x6e1524
call fcn.005787a0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push eax
call fcn.0041a850
jmp 0x4eef49
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x2e]
cmp edx, dword [eax + 0x78]
jne 0x4eeec3
mov dword [esp + 0x14], 0xffffffff
jmp 0x4eeedf
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x2e]
cmp dword [eax + 0x78], ecx
sbb eax, eax
and eax, 0xff656464
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [0x6ec29c]
mov edx, dword [0x74e914]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x32]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x2e]
push ecx
push edx
push 0x6e1524
call fcn.005787a0
add esp, 0xc
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov edx, dword [esi + 0x4a8]
mov eax, dword [edx + 0xc2]
add ebx, 0x14
test eax, eax
je 0x4eefcf
cmp eax, 1
je 0x4eefcf
cmp eax, 2
je 0x4eefcf
mov eax, edx
mov ecx, dword [eax + 0x36]
cmp ecx, dword [eax + 0x7c]
jne 0x4eef75
or eax, 0xffffffff
jmp 0x4eef8d
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x36]
cmp dword [eax + 0x7c], edx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov edx, dword [0x6ec29c]
mov ecx, dword [0x74e914]
push 0
push edx
push 0
push eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x4a8]
mov eax, dword [ecx + 0x3a]
mov ecx, dword [ecx + 0x36]
push ebx
push ebp
push eax
push ecx
push 0x6e1524
call fcn.005787a0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push eax
call fcn.0041a850
jmp 0x4ef06d
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x36]
cmp edx, dword [eax + 0x7c]
jne 0x4eefe7
mov dword [esp + 0x14], 0xffffffff
jmp 0x4ef003
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x36]
cmp dword [eax + 0x7c], ecx
sbb eax, eax
and eax, 0xff656464
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov eax, dword [0x6ec29c]
mov edx, dword [0x74e914]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x3a]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x36]
push ecx
push edx
push 0x6e1524
call fcn.005787a0
add esp, 0xc
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x3e]
mov ecx, dword [eax + 0x80]
add ebx, 0x14
cmp edx, ecx
jne 0x4ef08d
mov dword [esp + 0x14], 0xffffffff
jmp 0x4ef0ac
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x3e]
cmp dword [eax + 0x80], ecx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0x3e]
push edx
push 0x6d6fe8
mov dword [esp + 0x18], eax
call fcn.005787a0
add esp, 8
mov ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov edx, dword [eax + 0x42]
mov ecx, dword [eax + 0x84]
add ebx, 0x14
cmp edx, ecx
jne 0x4ef132
mov dword [esp + 0x14], 0xffffffff
jmp 0x4ef151
mov eax, dword [esi + 0x4a8]
mov ecx, dword [eax + 0x42]
cmp dword [eax + 0x84], ecx
sbb eax, eax
and eax, 0xff01ff00
add eax, 0xffff0000
mov dword [esp + 0x14], eax
mov edx, dword [0x74e914]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [0x6ec29c]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 0x42]
push edx
push 0x6d6fe8
mov dword [esp + 0x34], eax
call fcn.005787a0
add esp, 8
push 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x30]
push edi
mov edi, dword [esp + 0x1c]
push 0
push 0
push edi
mov ecx, ebp
mov dword [esp + 0x30], ecx
mov ecx, ebx
lea edi, [esp + 0x30]
push edi
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
call dword [edx + 0x94]
mov eax, dword [esi + 0x4a8]
mov eax, dword [eax + 0xe]
mov edi, dword [0x74e914]
add ebx, 0x14
cmp eax, 0x2710
push 0
jae 0x4ef1db
mov ecx, dword [0x6ec29c]
push ecx
push 0
push 0xffffffffffffffff
jmp 0x4ef1e9
mov edx, dword [0x6ec29c]
push edx
push 0
push 0xff00ff00
push ebx
push ebp
push eax
push 0x6d6fe8
call fcn.005787a0
add esp, 8
mov ecx, edi
push eax
call fcn.0041a850
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov esi, dword [esi + 0x4a8]
mov ebp, dword [esi + 0x3a]
mov edx, dword [esi + 0x32]
add eax, 0xfa
add ecx, 0x152
mov edi, eax
mov eax, dword [esi + 0x3e]
lea ebx, [ecx + 0x79]
mov ecx, dword [esi + 0x42]
add ecx, eax
add ecx, ebp
add ecx, edx
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
pop ebp
jg 0x4ef260
lea eax, [esp + 0x78]
push 0x6db77c
push eax
call fcn.0062f64e
add esp, 8
jmp 0x4ef273
push eax
lea ecx, [esp + 0x7c]
push 0x6db778
push ecx
call fcn.0062f64e
add esp, 0xc
push 0
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x80], 0x3f4ccccd
mov dword [esp + 0x84], 0x3f4ccccd
call fcn.0062f7d0
add esp, 4
push eax
lea ecx, [esp + 0x88]
push ecx
push ebx
push edi
call fcn.00589000
mov ecx, eax
call fcn.00588ad0
pop edi
pop ebx
pop esi
add esp, 0x16c
ret