Function at 0x50e714
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd3
push 0
push 0
dec ecx
jne 0x50e71c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.004056c4
xor eax, eax
push ebp
push 0x517080
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax], 0x2b
jne 0x50f565
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x50e75a
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x18]
push eax
mov ecx, ebx
dec ecx
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.0040573c
push 0
lea eax, [ebp - 0x220]
push eax
mov byte [ebp - 0x224], 0x2f
lea ecx, [ebp - 0x224]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.0047f2e8
mov edx, dword [ebp - 0x220]
lea eax, [ebp - 0x18]
call fcn.004052cc
mov eax, dword [ebp - 0x14]
mov edx, 0x51709c
call fcn.0040566c
jne 0x50e7b9
mov eax, dword [0x68fe60]
mov byte [eax], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5170a8
call fcn.0040566c
jne 0x50e84f
mov eax, dword [0x68fcc4]
mov byte [eax], 1
push 1
push 0
mov edx, 0x5170ac
lea eax, [ebp - 0x238]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x1052
lea eax, [ebp - 0x238]
mov cl, 0xf
call fcn.0040392c
lea edx, [ebp - 0x238]
lea eax, [ebp - 0x24c]
call fcn.0040395c
mov edx, 0x5170b4
lea eax, [ebp - 0x24c]
mov cl, 0x10
call fcn.0040392c
lea edx, [ebp - 0x24c]
lea eax, [ebp - 0x228]
call fcn.004054a8
mov edx, dword [ebp - 0x228]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5170c0
call fcn.0040566c
jne 0x50e8e5
mov eax, dword [0x68fcc4]
mov byte [eax], 0
push 1
push 0
mov edx, 0x5170c8
lea eax, [ebp - 0x238]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x1052
lea eax, [ebp - 0x238]
mov cl, 0xf
call fcn.0040392c
lea edx, [ebp - 0x238]
lea eax, [ebp - 0x24c]
call fcn.0040395c
mov edx, 0x5170b4
lea eax, [ebp - 0x24c]
mov cl, 0x10
call fcn.0040392c
lea edx, [ebp - 0x24c]
lea eax, [ebp - 0x250]
call fcn.004054a8
mov edx, dword [ebp - 0x250]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5170d8
call fcn.0040566c
jne 0x50e97b
mov eax, dword [0x68fe08]
mov byte [eax], 1
push 1
push 0
mov edx, 0x5170ac
lea eax, [ebp - 0x238]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x21fe
lea eax, [ebp - 0x238]
mov cl, 0xf
call fcn.0040392c
lea edx, [ebp - 0x238]
lea eax, [ebp - 0x24c]
call fcn.0040395c
mov edx, 0x5170b4
lea eax, [ebp - 0x24c]
mov cl, 0x10
call fcn.0040392c
lea edx, [ebp - 0x24c]
lea eax, [ebp - 0x254]
call fcn.004054a8
mov edx, dword [ebp - 0x254]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5170e4
call fcn.0040566c
jne 0x50ea11
mov eax, dword [0x68fe08]
mov byte [eax], 0
push 1
push 0
mov edx, 0x5170c8
lea eax, [ebp - 0x238]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x21fe
lea eax, [ebp - 0x238]
mov cl, 0xf
call fcn.0040392c
lea edx, [ebp - 0x238]
lea eax, [ebp - 0x24c]
call fcn.0040395c
mov edx, 0x5170b4
lea eax, [ebp - 0x24c]
mov cl, 0x10
call fcn.0040392c
lea edx, [ebp - 0x24c]
lea eax, [ebp - 0x258]
call fcn.004054a8
mov edx, dword [ebp - 0x258]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5170f4
call fcn.0040566c
jne 0x50ea2d
mov eax, dword [0x6901f0]
mov byte [eax], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517100
call fcn.0040566c
jne 0x50ea49
mov eax, dword [0x6901f0]
mov byte [eax], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517110
call fcn.0040566c
jne 0x50ea65
mov eax, dword [0x68fd7c]
mov byte [eax], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x51711c
call fcn.0040566c
jne 0x50ea81
mov eax, dword [0x68fd7c]
mov byte [eax], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x51712c
call fcn.0040566c
jne 0x50ea9d
mov eax, dword [0x68f8a4]
mov byte [eax], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517138
call fcn.0040566c
jne 0x50eab9
mov eax, dword [0x68f8a4]
mov byte [eax], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517148
call fcn.0040566c
jne 0x50eb5b
mov eax, dword [0x68ffcc]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x958a
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x25c]
call fcn.004054a8
mov edx, dword [ebp - 0x25c]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x9d45], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517168
call fcn.0040566c
jne 0x50ec2e
mov eax, dword [0x68ffcc]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x958a
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x284]
call fcn.004054a8
mov edx, dword [ebp - 0x284]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x9d45], 0
mov eax, dword [0x68fa90]
cmp dword [eax], 0x6e
jne case.0x50f6e8.5079
mov eax, dword [0x68fa90]
mov dword [eax], 0xffffffff
push 1
push 0
mov ecx, 0xff00
mov edx, 0x517180
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x51719c
call fcn.0040566c
jne 0x50ecd0
mov eax, dword [0x68fbc8]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x9842
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x29c]
call fcn.004054a8
mov edx, dword [ebp - 0x29c]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xa021], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171ac
call fcn.0040566c
jne 0x50eda3
mov eax, dword [0x68fbc8]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x9842
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2a0]
call fcn.004054a8
mov edx, dword [ebp - 0x2a0]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xa021], 0
mov eax, dword [0x68fa90]
cmp dword [eax], 0x70
jne case.0x50f6e8.5079
mov eax, dword [0x68fa90]
mov dword [eax], 0xffffffff
push 1
push 0
mov ecx, 0xff00
mov edx, 0x517180
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171bc
call fcn.0040566c
jne 0x50ee76
mov eax, dword [0x68f6fc]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x999e
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2a4]
call fcn.004054a8
mov edx, dword [ebp - 0x2a4]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xa18f], 1
mov eax, dword [0x68fa90]
cmp dword [eax], 0x71
jne case.0x50f6e8.5079
mov eax, dword [0x68fa90]
mov dword [eax], 0xffffffff
push 1
push 0
mov ecx, 0xff00
mov edx, 0x517180
mov eax, dword [0x79ade8]
call fcn.0053f540
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171cc
call fcn.0040566c
jne 0x50ef18
mov eax, dword [0x68f6fc]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x999e
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2a8]
call fcn.004054a8
mov edx, dword [ebp - 0x2a8]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xa18f], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171dc
call fcn.0040566c
jne 0x50efba
mov eax, dword [0x68fc54]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0xa5da
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2ac]
call fcn.004054a8
mov edx, dword [ebp - 0x2ac]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xae6d], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171ec
call fcn.0040566c
jne 0x50f05c
mov eax, dword [0x68fc54]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0xa5da
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2b0]
call fcn.004054a8
mov edx, dword [ebp - 0x2b0]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0xae6d], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x5171fc
call fcn.0040566c
jne 0x50f0fe
mov eax, dword [0x68f9c4]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x4c22
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2b4]
call fcn.004054a8
mov edx, dword [ebp - 0x2b4]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x5011], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517208
call fcn.0040566c
jne 0x50f1a0
mov eax, dword [0x68f9c4]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x4c22
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2b8]
call fcn.004054a8
mov edx, dword [ebp - 0x2b8]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x5011], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517218
call fcn.0040566c
jne 0x50f242
mov eax, dword [0x69009c]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x235a
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2bc]
call fcn.004054a8
mov edx, dword [ebp - 0x2bc]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x252d], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517224
call fcn.0040566c
jne 0x50f2e4
mov eax, dword [0x69009c]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x235a
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2c0]
call fcn.004054a8
mov edx, dword [ebp - 0x2c0]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x252d], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517234
call fcn.0040566c
jne 0x50f38e
mov eax, dword [0x6901c4]
mov byte [eax], 1
mov eax, dword [0x68f998]
mov byte [eax], 1
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x3a76
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2c4]
call fcn.004054a8
mov edx, dword [ebp - 0x2c4]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x3d7b], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517244
call fcn.0040566c
jne 0x50f438
mov eax, dword [0x6901c4]
mov byte [eax], 1
mov eax, dword [0x68f998]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x3a76
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x280]
call fcn.0040395c
mov edx, 0x517154
lea eax, [ebp - 0x280]
mov cl, 0x14
call fcn.0040392c
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2c8]
call fcn.004054a8
mov edx, dword [ebp - 0x2c8]
mov ecx, 0xffffff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x3d7b], 1
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517254
call fcn.0040566c
jne 0x50f4da
mov eax, dword [0x6901c4]
mov byte [eax], 0
push 1
push 0
mov edx, 0x517150
lea eax, [ebp - 0x268]
call fcn.0040395c
mov edx, dword [0x690244]
add edx, 0x3a76
lea eax, [ebp - 0x268]
mov cl, 0xb
call fcn.0040392c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x298]
call fcn.0040395c
mov edx, 0x517170
lea eax, [ebp - 0x298]
mov cl, 0x12
call fcn.0040392c
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x2cc]
call fcn.004054a8
mov edx, dword [ebp - 0x2cc]
mov ecx, 0xff
mov eax, dword [0x79ade8]
call fcn.0053f540
mov eax, dword [0x68fac4]
mov byte [eax + 0x3d7b], 0
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517264
call fcn.0040566c
jne 0x50f51a
mov byte [edi + 0x420], 0
mov eax, dword [0x68f6c8]
inc dword [eax]
cmp dword [ebp - 0x18], 0
je case.0x50f6e8.5079
or edx, 0xffffffff
mov eax, dword [ebp - 0x18]
call fcn.0040a364
mov edx, eax
mov eax, edi
call fcn.0050e530
jmp case.0x50f6e8.5079
mov eax, dword [ebp - 0x14]
mov edx, 0x517274
call fcn.0040566c
jne case.0x50f6e8.5079
mov eax, edi
call fcn.0050d990
mov byte [edi + 0x420], 0
mov eax, dword [0x68f6c8]
inc dword [eax]
cmp dword [ebp - 0x18], 0
je case.0x50f6e8.5079
or edx, 0xffffffff
mov eax, dword [ebp - 0x18]
call fcn.0040a364
mov edx, eax
mov eax, edi
call fcn.0050e530
jmp case.0x50f6e8.5079
mov ebx, dword [ebp - 4]
mov eax, ebx
test eax, eax
je 0x50f573
sub eax, 4
mov eax, dword [eax]
cmp eax, 0x10
jge 0x50f5c7
mov eax, dword [ebp - 4]
cmp byte [eax], 0x3d
jne case.0x50f6e8.5079
test ebx, ebx
je 0x50f58d
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x18]
push eax
mov ecx, ebx
dec ecx
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.0040573c
mov eax, dword [ebp - 0x18]
mov edx, 0x517284
call fcn.0040566c
jne case.0x50f6e8.5079
mov eax, dword [0x68fdf8]
mov eax, dword [eax]
mov byte [eax + 0x140], 1
jmp case.0x50f6e8.5079
lea eax, [ebp - 8]
push eax
mov ecx, 0x10
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040573c
test ebx, ebx
je 0x50f5e6
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
sub ecx, 0x10
mov edx, 0x11
mov eax, dword [ebp - 4]
call fcn.0040573c
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 8]
call fcn.004b5778
mov eax, dword [0x68fdf8]
cmp dword [eax], 0
jne case.0x50f6e8.5078
movzx eax, word [ebp - 0x84]
cmp eax, 0x13d2
jg 0x50f6cd
je 0x50fe9e
add eax, 0xffffec50
cmp eax, 0x21
ja case.0x50f6e8.5079
jmp dword [eax*4 + 0x50f645]
cmp eax, 0x1402
jg 0x50f707
je case.0x50f6e8.5078
add eax, 0xffffec2d
cmp eax, 5
ja case.0x50f6e8.5079
jmp dword [eax*4 + 0x50f6ef]
cmp eax, 0x1494
jg 0x50f72d
je 0x50f883
sub eax, 0x1444
je case.0x50f6e8.5078
sub eax, 0x31
je 0x50ff7d
jmp case.0x50f6e8.5079
sub eax, 0x14bd
je case.0x50f6e8.5078
sub eax, 0x16
je case.0x50f6e8.5078
jmp case.0x50f6e8.5079
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 0
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5172a0
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 0
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, dword [ebp - 0x88]
sub eax, 0xfffffffe
je 0x50f84d
sub eax, 2
jne 0x50f868
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5172bc
call fcn.00405288
push 0x46
push 0
push 0
push 0x5172c8
push dword [edi + 0x3a0]
push 0x5172d4
lea eax, [ebp - 0x2d0]
mov edx, 3
call fcn.004055d8
mov edx, dword [ebp - 0x2d0]
mov eax, dword [0x690414]
mov eax, dword [eax]
movzx ecx, word [0x517300]
call fcn.00558148
xor edx, edx
mov eax, dword [0x79ade8]
call fcn.0053f4b0
xor edx, edx
mov eax, dword [0x79adec]
call fcn.005aa880
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x51730c
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517330
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x6900f4]
mov eax, dword [eax]
movzx edx, word [ebp - 0x82]
mov word [eax + 0x58c], dx
mov eax, dword [0x6900f4]
mov eax, dword [eax]
movzx edx, word [ebp - 0x80]
mov word [eax + 0x58e], dx
mov eax, dword [0x6900f4]
mov eax, dword [eax]
movzx edx, word [ebp - 0x7e]
mov word [eax + 0x590], dx
xor edx, edx
mov eax, dword [0x79ade8]
call fcn.0053f4b0
mov dl, 5
mov eax, dword [0x79adec]
call fcn.005abe48
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 0
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, dword [ebp - 0x88]
add eax, 8
cmp eax, 7
ja case.default.0x50f91e
jmp dword [eax*4 + 0x50f925]
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517350
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517370
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517398
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5173c4
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5173e8
call fcn.00405288
jmp case.0x50f6e8.5078
mov byte [edi + 0x439], 1
mov eax, dword [0x79ade4]
mov eax, dword [eax + 0x360]
xor edx, edx
call fcn.0046daa4
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517408
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 3
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x51742c
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x51743c
call fcn.00405288
jmp case.0x50f6e8.5078
mov byte [edi + 0x439], 1
mov eax, dword [0x79ade4]
mov eax, dword [eax + 0x360]
xor edx, edx
call fcn.0046daa4
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517468
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 5
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x51742c
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517494
call fcn.00405288
jmp case.0x50f6e8.5078
mov edx, dword [ebp - 0xc]
mov eax, edi
call fcn.00518de8
cmp word [ebp - 0x7e], 0
je 0x50fafa
mov eax, dword [0x69034c]
mov eax, dword [eax]
mov edx, 0x5c8
call fcn.00484504
test eax, eax
je 0x50fafa
xor eax, eax
jmp 0x50fafc
mov al, 1
mov edx, dword [0x6901e0]
mov byte [edx], al
jmp case.0x50f6e8.5078
mov edx, dword [ebp - 0xc]
mov eax, edi
call fcn.00518f9c
jmp case.0x50f6e8.5078
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xc]
mov eax, edi
call fcn.0051e034
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5174b0
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, edi
call fcn.0050b554
jmp case.0x50f6e8.5078
mov eax, dword [0x6900b4]
mov byte [eax], 0
mov eax, dword [0x690310]
mov byte [eax], 0
mov eax, dword [0x68ff30]
mov byte [eax], 0
push 0x46
push 0
push 0
mov eax, dword [0x690414]
mov eax, dword [eax]
movzx ecx, word [0x517300]
mov edx, 0x5174e0
call fcn.00558148
mov eax, edi
call fcn.00462fc8
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5174fc
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov dl, 4
mov eax, dword [0x79ade8]
call fcn.0053f4b0
mov eax, edi
call fcn.0050b554
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, dword [ebp - 0x88]
add eax, 2
cmp eax, 7
ja case.default.0x50fc6a
jmp dword [eax*4 + 0x50fc71]
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x51752c
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517558
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517580
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5175b0
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5175e0
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x51760c
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517640
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x51752c
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 0
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517664
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 0
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, dword [ebp - 0x88]
sub eax, 0xfffffffe
je 0x50fe13
dec eax
jne 0x50fe2e
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517680
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517370
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x517680
call fcn.00405288
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5176a8
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
mov eax, edi
call fcn.0050b554
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 1
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5176d8
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517290
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 1
jmp case.0x50f6e8.5078
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa4], 3
mov eax, dword [0x690414]
mov eax, dword [eax]
add eax, 0xaa8
mov edx, 0x5176fc
call fcn.00405288
mov eax, dword [0x690414]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
mov edx, 0x517720
call fcn.00487e34
mov eax, dword [0x690414]
mov eax, dword [eax]
mov byte [eax + 0xaa5], 0
mov dl, 4
mov eax, dword [0x79ade8]
call fcn.0053f4b0
mov edx, dword [ebp - 0xc]
mov eax, edi
call fcn.00519274
jmp case.0x50f6e8.5079
push 0x46
push 0
push 0
mov eax, dword [0x690414]
mov eax, dword [eax]
movzx ecx, word [0x517300]
mov edx, 0x517730
call fcn.00558148
mov eax, dword [0x79ade4]
call fcn.00462fc8
jmp case.0x50f6e8.5079
push 0x46
push 0
push 0
mov eax, dword [0x690414]
mov eax, dword [eax]
movzx ecx, word [0x517300]
mov edx, 0x517748
call fcn.00558148
jmp case.0x50f6e8.5079
movzx ebx, word [ebp - 0x84]
movzx eax, bx
add eax, 0xffffec77
cmp eax, 0x257
ja 0x516e65
movzx eax, byte [eax + 0x50ffc8]
jmp dword [eax*4 + 0x510220]
mov eax, dword [0x68fdf8]
cmp dword [eax], 0
je case.0x50f6e8.5079
lea edx, [ebp - 0x67c]
movzx eax, bx
call fcn.0040a1ec
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x678]
mov edx, 0x518c1c
call fcn.0040555c
mov edx, dword [ebp - 0x678]
mov eax, dword [0x79adf4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x684]
mov eax, dword [ebp - 0x88]
call fcn.0040a1ec
mov ecx, dword [ebp - 0x684]
lea eax, [ebp - 0x680]
mov edx, 0x518c2c
call fcn.0040555c
mov edx, dword [ebp - 0x680]
mov eax, dword [0x79adf4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x68c]
movzx eax, word [ebp - 0x82]
call fcn.0040a1ec
mov ecx, dword [ebp - 0x68c]
lea eax, [ebp - 0x688]
mov edx, 0x518c3c
call fcn.0040555c
mov edx, dword [ebp - 0x688]
mov eax, dword [0x79adf4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x694]
movzx eax, word [ebp - 0x80]
call fcn.0040a1ec
mov ecx, dword [ebp - 0x694]
lea eax, [ebp - 0x690]
mov edx, 0x518c4c
call fcn.0040555c
mov edx, dword [ebp - 0x690]
mov eax, dword [0x79adf4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x69c]
movzx eax, word [ebp - 0x7e]
call fcn.0040a1ec
mov ecx, dword [ebp - 0x69c]
lea eax, [ebp - 0x698]
mov edx, 0x518c5c
call fcn.0040555c
mov edx, dword [ebp - 0x698]
mov eax, dword [0x79adf4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 4]
mov eax, 0x518c70
call fcn.00405820
test eax, eax
jle case.0x50f6e8.5079
push 1
push 0
mov ecx, 0x8000
mov edx, dword [ebp - 4]
mov eax, dword [0x79ade8]
call fcn.0053f540
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51708a
lea eax, [ebp - 0x69c]
mov edx, 0x13
call fcn.00405258
lea eax, [ebp - 0x630]
mov edx, 0xf
call fcn.00405258
lea eax, [ebp - 0x5f0]
mov edx, 0x3c
call fcn.00405258
lea eax, [ebp - 0x484]
mov edx, 6
call fcn.00405258
lea eax, [ebp - 0x46c]
mov edx, 0x23
call fcn.00405258
lea eax, [ebp - 0x2e0]
mov edx, 0x12
call fcn.00405258
lea eax, [ebp - 0x284]
call fcn.00405234
lea eax, [ebp - 0x25c]
mov edx, 4
call fcn.00405258
lea eax, [ebp - 0x228]
call fcn.00405234
lea eax, [ebp - 0x220]
call fcn.00405234
lea eax, [ebp - 0x30]
mov edx, 0xc
call fcn.00405258
ret