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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xac0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0xab8], eax
mov dword [esp + 0xab4], ecx
mov dword [esp + 0xab0], edx
mov dword [esp + 0xaac], esi
mov dword [esp + 0xaa8], edi
mov eax, dword [0x4a5998]
mov ecx, dword [0x495160]
imul ecx, eax
mov dword [0x495160], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x3d14
call fcn.0042df40
mov dword [esp + 0xaa4], eax
mov dword [0x4a6e00], 0x936ade7c
mov eax, dword [esp + 0xaa4]
mov ecx, dword [esp + 0xaa8]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004560a0
mov dword [esp + 0xa7c], eax
mov dword [0x49b7f4], 0xa06b9036
mov eax, dword [esp + 0xaa4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0041e970
mov eax, dword [0x495a10]
add eax, 0x8e9f5a7b
mov dword [0x495a10], eax
cmp dword [esp + 0xa7c], 0
jne 0x40f28a
mov eax, dword [0x4a1a38]
add eax, 0xb3d32b0c
cmp eax, 0x7198412b
jg 0x40f18d
mov eax, dword [0x4925f8]
add eax, 0xf42c44bd
mov dword [0x4925f8], eax
cmp dword [esp + 0xab8], 0
je 0x40f1d1
mov eax, dword [0x49afd8]
shl eax, 2
mov ecx, dword [0x4a9dec]
xor ecx, eax
mov dword [0x4a9dec], ecx
mov ecx, dword [esp + 0xab0]
call fcn.00423140
mov eax, dword [0x4a5a64]
xor eax, 0x70effda5
mov dword [0x4a5a64], eax
jmp 0x41186d
mov eax, dword [0x49c928]
mov dword [0x494fa0], eax
mov eax, dword [esp + 0xab0]
mov ecx, dword [esp + 0xaac]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00431220
mov dword [esp + 0xa78], eax
mov eax, dword [0x4a0d6c]
add eax, 0x8b81f386
mov dword [0x4a0d6c], eax
cmp dword [esp + 0xa78], 0
jg 0x40f25f
mov eax, dword [0x49fe00]
imul eax, eax, 0x195bfa1d
mov dword [0x49fe00], eax
mov ecx, dword [esp + 0xab0]
call fcn.00423140
mov eax, dword [0x4a3514]
dec eax
mov dword [0x4a3514], eax
cmp eax, 0x2567f38
jne 0x40f25a
mov eax, dword [0x49e4a8]
add eax, 0xc57b7a8
mov dword [0x49e4a8], eax
jmp 0x40f25f
mov eax, dword [0x4920d0]
mov ecx, eax
inc ecx
mov dword [0x4920d0], ecx
add eax, 0x1b2ba9ad
xor eax, 0xcd570fdf
mov ecx, dword [0x49ba7c]
and ecx, eax
mov dword [0x49ba7c], ecx
jmp 0x41186d
mov eax, 0xf91ed5c6
mov ecx, dword [0x4947f4]
mov dx, word [0x4ab220]
movsx esi, dx
imul esi, esi, 0xcd56a593
xor ecx, esi
cmp eax, ecx
jle 0x40f2c4
mov eax, dword [0x49b96c]
imul eax, eax, 0x8fb42e88
mov dword [0x49b96c], eax
jmp 0x40f301
mov eax, 0xc000208
mov ecx, dword [0x4a05b8]
sub ecx, 0x810bea65
cmp eax, ecx
jle 0x40f2fc
mov eax, dword [0x49bb30]
add eax, 0x45173ba8
cmp eax, 0x509043a4
jge 0x40f2f7
jmp 0x40f2f7
jmp 0x40f2fc
jmp 0x40f301
mov eax, 0xac502f35
mov ecx, dword [0x4a4ca8]
mov edx, ecx
dec edx
mov dword [0x4a4ca8], edx
mov si, word [0x4b0b32]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x4b0b32], si
mov ecx, dword [0x4a9254]
xor ecx, 0x9f6c9f6b
cmp eax, ecx
jl 0x40f349
mov dword [0x496898], 0xebb7acaf
mov eax, 0x53ccf763
mov ecx, dword [0x4a3d38]
or ecx, 0x4e7215d2
mov dword [0x4a3d38], ecx
mov dx, word [0x4b2394]
mov cx, dx
imul ecx, ecx, 0x8020080a
mov dx, cx
mov word [0x4b2394], dx
mov ecx, dword [0x49ba48]
or ecx, 0xbfb2bd3e
cmp eax, ecx
je 0x40f39d
mov eax, dword [0x495cbc]
add eax, 0x4ca465a7
mov dword [0x495cbc], eax
mov eax, 0x481ac726
mov dword [0x496fd8], 0x6fffbf7f
lea ecx, [esp + 0x67c]
mov dword [esp + 0x130], eax
call fcn.004469d0
mov ecx, dword [0x49b574]
mov edx, dword [0x499ec4]
or edx, ecx
mov dword [0x499ec4], edx
mov ecx, dword [0x4a8ee4]
and ecx, 0x4982e42
mov dword [0x4a8ee4], ecx
mov ecx, dword [0x49be1c]
and ecx, 0x8003200
mov dword [0x49be1c], ecx
mov ecx, dword [0x496d3c]
or ecx, 0x49ae1955
mov dword [0x496d3c], ecx
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov ecx, dword [0x4934b0]
add ecx, 0x140483bf
mov dword [0x4934b0], ecx
mov ecx, dword [0x493c54]
mov edx, ecx
dec edx
mov dword [0x493c54], edx
imul ecx, ecx, 0x48740e3d
mov si, word [0x4b59e2]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x4b59e2], si
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x20c], 0xffffffff
mov ecx, dword [0x4930e0]
add ecx, 0x4bdbcda8
mov dword [0x4930e0], ecx
mov dword [esp + 0x208], 0x50
mov si, word [0x4b0388]
movsx ecx, si
add ecx, 0x794fa6af
or ecx, 0x8f0b1407
mov edx, dword [0x4a2638]
xor edx, ecx
mov dword [0x4a2638], edx
mov byte [esp + 0x207], 0
mov ecx, dword [0x499f34]
sar ecx, 5
mov edx, dword [0x49516c]
xor ecx, edx
mov edx, dword [0x4994f0]
and edx, ecx
mov dword [0x4994f0], edx
mov ecx, esp
mov dword [ecx], 0
mov dword [esp + 0x12c], eax
call fcn.00451000
add eax, 0x258
adc edx, 0
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov eax, dword [0x4a2778]
xor eax, 0x8a878b39
mov dword [0x4a2778], eax
mov byte [esp + 0x6a9], 0
mov eax, dword [0x4a9290]
and eax, 0x21d05281
mov dword [0x4a9290], eax
mov eax, dword [esp + 0xaa8]
mov ecx, esp
mov dword [ecx], eax
call fcn.00452290
mov dword [esp + 0x22c], eax
mov eax, dword [0x4a5300]
dec eax
mov dword [0x4a5300], eax
or eax, 0xda6bffed
mov ecx, dword [0x499ab8]
imul ecx, ecx, 0xe33ae318
mov edx, dword [esp + 0x130]
sub edx, ecx
cmp eax, edx
jle 0x40f586
mov ax, word [0x4b4ad8]
mov cx, ax
add ecx, 0x22e64c8e
mov ax, cx
mov word [0x4b4ad8], ax
cmp dword [esp + 0x22c], 0x7f
jle 0x40f60f
mov ax, word [0x4b3462]
movsx ecx, ax
sar ecx, 9
mov edx, dword [0x4935cc]
shl edx, 8
add ecx, edx
add ecx, 0x76791c03
cmp ecx, 0xd9f718ae
jg 0x40f5dd
mov ax, word [0x4aac48]
movsx ecx, ax
imul ecx, ecx, 0x8fcbcc31
add ecx, 0x9fefbcd1
mov dword [0x49e8a4], ecx
jmp 0x40f60a
mov eax, dword [0x493b5c]
cmp eax, 0x94f4b1e3
jne 0x40f5fc
mov dword [0x499408], 0x6dc95158
jmp 0x40f605
mov word [0x4b3b12], 0x6352
jmp 0x40f60a
jmp 0x41176f
mov dword [0x499a20], 0x7d9efee9
mov eax, dword [esp + 0xaa8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x9b3]
mov dword [ecx], eax
call fcn.00455410
mov ecx, dword [0x49ca38]
add ecx, 0xa718a729
mov dword [0x49ca38], ecx
mov ecx, dword [esp + 0x22c]
sub ecx, 1
mov dword [esp + 0x228], ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
sub ecx, 6
cmp eax, ecx
jl 0x40f778
mov ax, word [0x4b1576]
movsx ecx, ax
add ecx, 0x7ec70b5f
mov dword [0x4a0858], ecx
mov ecx, dword [esp + 0x228]
movsx ecx, byte [esp + ecx + 0x9b3]
cmp ecx, 0x3a
jne 0x40f758
mov eax, dword [0x49fef0]
imul eax, eax, 0x4df5fc01
mov dword [0x49fef0], eax
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x9b3], 0
mov cx, word [0x4b5cf8]
mov ax, cx
add eax, 0x767c862a
mov cx, ax
mov word [0x4b5cf8], cx
mov eax, dword [esp + 0x228]
mov dword [esp + 0x22c], eax
mov eax, dword [0x4a7234]
mov edx, eax
dec edx
mov dword [0x4a7234], edx
mov edx, 0x92edf7be
sub edx, eax
mov eax, dword [0x4a997c]
inc eax
mov dword [0x4a997c], eax
sub edx, eax
mov eax, dword [0x494a00]
or eax, edx
mov dword [0x494a00], eax
mov eax, dword [esp + 0x228]
lea edx, [esp + 0x9b3]
lea eax, [eax + edx + 1]
mov edx, esp
mov dword [edx], eax
call fcn.00456548
mov dword [esp + 0x208], eax
mov eax, dword [0x496128]
inc eax
mov dword [0x496128], eax
or eax, 0xbd2d7876
and eax, 0xfdbf7df7
mov dword [0x49f06c], eax
jmp 0x40f778
mov dword [0x49442c], 0xedf639db
mov eax, dword [esp + 0x228]
add eax, 0xffffffff
mov dword [esp + 0x228], eax
jmp 0x40f65d
mov ax, word [0x4b559a]
mov cx, ax
add ecx, 0x8781c843
mov ax, cx
mov word [0x4b559a], ax
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x228]
cmp eax, dword [esp + 0x22c]
jg 0x40f984
mov eax, dword [0x49998c]
mov ecx, eax
inc ecx
mov dword [0x49998c], ecx
mov ecx, dword [0x4a7b84]
xor ecx, eax
mov dword [0x4a7b84], ecx
mov eax, dword [esp + 0x228]
mov dl, byte [esp + eax + 0x9b3]
mov byte [esp + eax + 0x8ee], dl
mov eax, dword [0x4a81f8]
and eax, 0x936ed371
mov dword [0x4a81f8], eax
mov eax, dword [esp + 0x228]
movsx eax, byte [esp + eax + 0x8ee]
cmp eax, 0x2f
jne 0x40f956
mov eax, 0x9a708450
mov ecx, dword [0x49a2f4]
inc ecx
mov dword [0x49a2f4], ecx
cmp eax, ecx
jg 0x40f83c
mov eax, dword [0x4a0030]
shl eax, 7
or eax, 0xd1ad5735
mov ecx, dword [0x495ec4]
and ecx, eax
mov dword [0x495ec4], ecx
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x8ee], 0
mov eax, dword [0x493b74]
xor eax, 0xb3a928a9
mov dword [0x493b74], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x224]
cmp eax, dword [esp + 0x22c]
jg 0x40f939
mov eax, 0xedbebb6c
mov ecx, dword [0x49249c]
mov edx, dword [0x4a2958]
add ecx, edx
mov edx, dword [0x49f790]
add ecx, edx
cmp eax, ecx
jg 0x40f8ec
mov eax, 0xc429ca72
mov ecx, dword [0x49c910]
cmp eax, ecx
jle 0x40f8cf
mov ax, word [0x4aa0a2]
mov cx, ax
or ecx, 0x881
mov ax, cx
mov word [0x4aa0a2], ax
jmp 0x40f8e7
mov eax, dword [0x4970b0]
add eax, 0xa0be55d7
mov ecx, dword [0x4a4ef8]
sub ecx, eax
mov dword [0x4a4ef8], ecx
jmp 0x40f8ec
mov eax, dword [esp + 0x224]
mov cl, byte [esp + eax + 0x9b3]
mov edx, dword [esp + 0x228]
sub eax, edx
mov byte [esp + eax + 0x6a9], cl
mov si, word [0x4aec9c]
mov ax, si
or eax, 0xd458
mov si, ax
mov word [0x4aec9c], si
mov eax, dword [esp + 0x224]
add eax, 1
mov dword [esp + 0x224], eax
jmp 0x40f868
mov ax, word [0x4b3422]
mov cx, ax
and ecx, 0x81f4
mov ax, cx
mov word [0x4b3422], ax
jmp 0x40f984
mov eax, dword [0x4938c4]
shr eax, 5
imul eax, eax, 0x51c58a44
mov cx, ax
mov word [0x4ab74c], cx
mov eax, dword [esp + 0x228]
add eax, 1
mov dword [esp + 0x228], eax
jmp 0x40f79b
lea eax, [esp + 0x6a9]
mov cx, word [0x4aaa02]
mov dx, cx
or edx, 0xb390
mov cx, dx
mov word [0x4aaa02], cx
mov edx, esp
mov dword [edx], eax
call fcn.00452290
mov edx, dword [esp + 0xaac]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x124], eax
call fcn.00452290
mov edx, dword [esp + 0x124]
add edx, eax
cmp edx, 0x1ff
jbe 0x40f9e8
mov word [0x4acd62], 0xc064
jmp 0x41176f
mov eax, dword [0x49aca8]
mov ecx, dword [0x4a8060]
mov edx, ecx
inc edx
mov dword [0x4a8060], edx
add ecx, 0x92d72a9f
cmp eax, ecx
jne 0x40fa2f
mov eax, dword [0x4a07d0]
mov ecx, eax
dec ecx
mov dword [0x4a07d0], ecx
mov dx, word [0x4b0938]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4b0938], dx
mov eax, dword [esp + 0xaac]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x6a9]
mov dword [ecx], eax
call fcn.00455420
mov ecx, dword [0x4a9274]
not ecx
mov edx, dword [0x4a1cc4]
and ecx, edx
mov edx, dword [0x4a313c]
sub edx, ecx
mov dword [0x4a313c], edx
mov dword [esp + 0x224], 0
mov ecx, dword [0x4a36e0]
and ecx, 0xed6f699a
mov dword [0x4a36e0], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x3d41
mov dword [esp + 0x120], eax
call fcn.0042df40
mov dword [esp + 0xaa0], eax
mov eax, dword [0x498060]
or eax, 0xebc8d4f7
mov si, word [0x4ab62e]
movsx ecx, si
cmp eax, ecx
jg 0x40fb20
mov eax, 0xa0272d41
mov cx, word [0x4ac7d2]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jl 0x40fb1b
mov eax, dword [0x4968ac]
mov ecx, eax
inc ecx
mov dword [0x4968ac], ecx
mov ecx, 0x319bf207
sub ecx, eax
or ecx, 0x4a4d62c8
mov eax, dword [0x493e9c]
shl eax, 7
xor eax, 0xd0c34199
cmp ecx, eax
jg 0x40fb11
jmp 0x40fb16
jmp 0x40fb16
jmp 0x40fb1b
jmp 0x40fb20
mov eax, dword [esp + 0xaa0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.00432a90
sub esp, 4
mov dx, word [0x4abb26]
mov cx, dx
add ecx, 0x138eb22a
mov dx, cx
mov word [0x4abb26], dx
mov ecx, dword [esp + 0xaa0]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 5
mov dword [esp + 0x11c], eax
call fcn.0041e970
mov dx, word [0x4b0c8c]
movsx eax, dx
sar eax, 2
mov ecx, 0x567e82aa
sub ecx, eax
mov eax, dword [0x49aa68]
and eax, ecx
mov dword [0x49aa68], eax
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.0042ce10
cmp eax, 0
je 0x40feb0
mov eax, dword [0x49b840]
mov ecx, 0x77e0dc68
sub ecx, eax
mov eax, dword [0x4a96e0]
lea eax, [ecx + eax + 0x49980a0f]
mov dword [0x4a96e0], eax
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x36c3
call fcn.0042df40
mov dword [esp + 0xa9c], eax
mov eax, dword [0x4a10cc]
mov ecx, dword [0x49544c]
add ecx, eax
mov dword [0x49544c], ecx
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa9c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 0x118], ecx
mov ecx, eax
mov dword [esp + 0x114], eax
call fcn.00414660
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x114]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x110], eax
call fcn.0043aa60
sub esp, 8
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x114]
call fcn.004504a0
mov si, word [0x4b45b2]
mov ax, si
imul eax, eax, 0x5214824
mov si, ax
mov word [0x4b45b2], si
mov eax, dword [esp + 0xa9c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0041e970
mov eax, dword [0x4a30fc]
mov ecx, eax
inc ecx
mov dword [0x4a30fc], ecx
imul eax, eax, 0x6cd13103
xor eax, 0x1f012a19
mov ecx, dword [0x4a3a20]
imul ecx, eax
mov dword [0x4a3a20], ecx
cmp dword [esp + 0x228], 0
jne 0x40fea0
mov eax, dword [0x495a04]
mov ecx, dword [0x4a2754]
shl ecx, 8
imul ecx, ecx, 0x3630dc26
and ecx, 0x46d50781
cmp eax, ecx
jle 0x40fd01
mov eax, dword [0x49241c]
or eax, 0xa0100010
mov ecx, dword [0x49f6e8]
add ecx, eax
mov dword [0x49f6e8], ecx
mov eax, 0xd52d8041
mov dword [esp + 0x224], 1
mov ecx, dword [0x495e18]
add ecx, 0x23825e25
mov dword [0x495e18], ecx
mov ecx, dword [esp + 0xab0]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], eax
call fcn.00446380
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x10c]
call fcn.0041ca30
sub esp, 8
mov ecx, dword [0x499180]
add ecx, 0x42d2f1da
mov dword [0x499180], ecx
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x1671
mov dword [esp + 0x104], eax
call fcn.0042df40
mov dword [esp + 0xa98], eax
mov si, word [0x4aea2e]
mov ax, si
or eax, 0xf69c
mov si, ax
mov word [0x4aea2e], si
mov eax, dword [esp + 0xa98]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.00432a90
sub esp, 4
mov si, word [0x4aeef6]
mov cx, si
add ecx, 0x63a263d7
mov si, cx
mov word [0x4aeef6], si
mov ecx, dword [esp + 0xa98]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 6
mov dword [esp + 0x100], eax
call fcn.0041e970
mov eax, dword [0x4a396c]
sub eax, 0xf7405ff8
mov ecx, dword [esp + 0x108]
cmp ecx, eax
jle 0x40fe8c
mov eax, dword [0x492a8c]
mov ecx, dword [0x49700c]
mov edx, ecx
inc edx
mov dword [0x49700c], edx
mov edx, dword [0x4a0d94]
xor edx, 0xffffffff
imul ecx, edx
cmp eax, ecx
jne 0x40fe78
mov eax, dword [0x4a975c]
mov ecx, eax
inc ecx
mov dword [0x4a975c], ecx
mov ecx, 0x705fd6c9
sub ecx, eax
xor ecx, 0xa338
mov dx, word [0x4ac2d8]
mov ax, dx
and eax, ecx
mov dx, ax
mov word [0x4ac2d8], dx
jmp 0x40fe87
mov eax, dword [0x4a22bc]
xor eax, 0xc01a8c1d
mov dword [0x4a22bc], eax
jmp 0x40fe9b
mov eax, dword [0x49ee54]
add eax, 0x743c0000
mov dword [0x49ee54], eax
jmp 0x40fea0
mov eax, dword [0x49d360]
imul eax, eax, 0xffd6f2de
mov dword [0x49d360], eax
mov eax, 0xccf10829
mov ecx, dword [0x49e558]
add ecx, 0x997404be
cmp eax, ecx
jle 0x40fed7
mov word [0x4b5c38], 0x9ef8
jmp 0x40ff01
mov eax, dword [0x4a6abc]
mov ecx, eax
dec ecx
mov dword [0x4a6abc], ecx
imul eax, eax, 0xc8e4477a
mov dx, word [0x4b33d4]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4b33d4], dx
mov eax, 0x323a18de
mov ecx, esp
lea edx, [esp + 0x6a9]
mov dword [ecx], edx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xfc]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xf4], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xf0], eax
call fcn.00432a00
mov eax, dword [0x4a09ec]
or eax, 0xad49f88e
mov dword [0x4a09ec], eax
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x1e12
call fcn.0042df40
mov dword [esp + 0xa94], eax
mov eax, dword [0x49a0fc]
or eax, 0xe9840cb3
mov ecx, dword [esp + 0xf8]
cmp ecx, eax
jl 0x40ffbd
mov eax, dword [0x496de0]
add eax, 0x672033cf
mov ecx, dword [0x497494]
and ecx, eax
mov dword [0x497494], ecx
mov eax, 0x3af3f54b
mov ecx, dword [esp + 0xa94]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xec]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xe4], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xe0], eax
call fcn.00432a00
mov eax, dword [0x4a8194]
not eax
mov ecx, dword [0x492398]
not ecx
add eax, ecx
mov ecx, dword [0x4a98c4]
sar ecx, 5
and eax, ecx
mov ecx, dword [0x4a7004]
and ecx, eax
mov dword [0x4a7004], ecx
mov eax, dword [esp + 0xa94]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.0041e970
mov si, word [0x4abc32]
movsx eax, si
sar eax, 2
or eax, 0xa6a524b6
mov ecx, dword [esp + 0xe8]
cmp ecx, eax
jl 0x41008f
mov eax, dword [0x4a684c]
or eax, 0xe9ab4935
mov dword [0x4a684c], eax
mov eax, esp
lea ecx, [esp + 0x8ee]
mov dword [eax], ecx
lea eax, [esp + 0x1b4]
mov ecx, eax
mov dword [esp + 0xdc], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xdc]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xd8], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xd4], eax
call fcn.00432a00
mov eax, dword [0x49ec0c]
add eax, 0x29c42e25
mov dword [0x49ec0c], eax
cmp dword [esp + 0x224], 0
je 0x410329
mov eax, dword [0x49e850]
or eax, 0xb94324ab
mov dword [0x49e850], eax
mov eax, esp
mov dword [eax + 4], 0x44
mov dword [eax], 0x28ca
call fcn.0042df40
mov dword [esp + 0xa90], eax
mov eax, dword [0x4a4e2c]
and eax, 0x40c43000
mov cx, word [0x4b4e4e]
movsx edx, cx
imul edx, edx, 0x4c58cba9
cmp eax, edx
jl 0x41015e
mov eax, dword [0x4947f0]
add eax, 0xef72774c
mov dword [0x4947f0], eax
mov eax, 0x5f3cab64
mov ecx, dword [esp + 0xa90]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd0]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xc4], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc0], eax
call fcn.00432a00
mov eax, dword [0x4974ec]
imul eax, eax, 0x1e513b35
mov dword [0x4974ec], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x2a91
call fcn.0042df40
mov dword [esp + 0xa8c], eax
mov eax, dword [0x49223c]
or eax, 0xfb721446
mov dword [0x49223c], eax
mov eax, dword [esp + 0xa90]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x44
call fcn.0041e970
mov si, word [0x4adbbe]
mov ax, si
inc eax
mov si, ax
mov word [0x4adbbe], si
movsx eax, si
imul eax, eax, 0xcd720b3a
mov ecx, dword [0x4a316c]
add ecx, eax
mov dword [0x4a316c], ecx
mov ecx, dword [esp + 0xab0]
call fcn.0042ce10
mov ecx, dword [esp + 0xa8c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x237]
mov dword [edx], eax
mov dword [esp + 0xbc], eax
call fcn.00455d50
mov dword [0x4a96b0], 0xc299a83b
mov ecx, dword [esp + 0xa8c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xb8], eax
call fcn.0041e970
mov eax, dword [0x4a4e24]
or eax, 0x102002
mov dword [0x4a4e24], eax
mov eax, esp
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
lea eax, [esp + 0x18c]
mov ecx, eax
mov dword [esp + 0xb4], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xb0], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xac], eax
call fcn.00432a00
mov eax, dword [0x498228]
mov ecx, dword [esp + 0xcc]
cmp ecx, eax
jle 0x410324
mov eax, dword [0x4a5928]
or eax, 0xf35b7a49
mov dword [0x4a5928], eax
jmp 0x410329
mov eax, dword [0x4a70cc]
xor eax, 0xcd8c24f8
mov dword [0x4a70cc], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x2fb8
call fcn.0042df40
mov dword [esp + 0xa88], eax
mov eax, dword [0x4a9c2c]
mov ecx, 0xf7f9165e
sub ecx, eax
mov eax, dword [0x4a1840]
or eax, ecx
mov dword [0x4a1840], eax
mov eax, dword [esp + 0xa88]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x178]
mov ecx, eax
mov dword [esp + 0xa8], eax
call fcn.0044eab0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xa8]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xa4], eax
call fcn.00442040
sub esp, 4
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
call fcn.00432a00
mov eax, dword [0x49eb3c]
xor eax, 0xab74526f
mov dword [0x49eb3c], eax
mov eax, dword [esp + 0xa88]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041e970
mov eax, dword [0x49e12c]
xor eax, 0xc5541046
mov dword [0x49e12c], eax
cmp dword [esp + 0x224], 0
je 0x410463
mov dword [0x4939e4], 0x2f2e21ec
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.00442040
sub esp, 4
mov dx, word [0x4af178]
mov cx, dx
mov esi, ecx
dec esi
mov dx, si
mov word [0x4af178], dx
and ecx, 0xe331
mov dx, word [0x4abf5a]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4abf5a], dx
mov dword [esp + 0x9c], eax
mov ax, word [0x4abe3a]
mov cx, ax
xor ecx, 0x68e7
mov ax, cx
mov word [0x4abe3a], ax
mov ecx, dword [0x491c6c]
mov edx, esp
lea esi, [esp + 0x8ee]
mov dword [edx], esi
call ecx
sub esp, 4
mov dword [esp + 0x230], eax
mov eax, dword [0x49370c]
mov ecx, dword [0x494af4]
shr ecx, 0xa
xor eax, ecx
mov di, word [0x4aec6c]
mov cx, di
xor eax, ecx
xor eax, 0xe98d
mov di, ax
mov word [0x4aec6c], di
cmp dword [esp + 0x230], 0
jne 0x4104f3
mov eax, dword [0x498588]
shl eax, 6
mov ecx, dword [0x49cbe0]
not ecx
add ecx, 0xaed5491b
xor eax, ecx
mov dword [0x4a74c8], eax
jmp 0x41176f
mov eax, 0x83c588e2
mov ecx, dword [0x4a7b78]
add ecx, 0xe1bd2efb
mov dx, word [0x4ae8e6]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4ae8e6], dx
xorps xmm0, xmm0
movaps xmmword [esp + 0x690], xmm0
mov ecx, dword [0x4985cc]
cmp eax, ecx
jg 0x410543
mov eax, dword [0x4a00d8]
and eax, 0xeb63cf10
mov dword [0x4a00d8], eax
mov word [esp + 0x690], 2
mov eax, dword [0x4a09f4]
inc eax
mov dword [0x4a09f4], eax
mov ecx, dword [0x4a1a84]
sar ecx, 0xa
mov dx, word [0x4aa896]
movsx esi, dx
shl esi, 2
and esi, 0xf639fda
xor ecx, esi
cmp eax, ecx
jge 0x4105c9
mov ax, word [0x4b567e]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4b567e], dx
movsx ecx, ax
add ecx, 0x58be1c8e
xor ecx, 0x8b74bde2
mov esi, dword [0x4a5170]
imul esi, esi, 0x24089782
sub esi, 0xd547156d
cmp ecx, esi
je 0x4105c4
mov word [0x4aa0c8], 0x469b
jmp 0x4105c9
mov eax, dword [0x491c74]
mov ecx, dword [0x491c78]
mov edx, dword [esp + 0x230]
mov edx, dword [edx + 0xc]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x174]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x98], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x98]
call eax
sub esp, 4
mov dword [esp + 0x694], eax
mov eax, dword [0x49a674]
not eax
and eax, 0xaf38
mov di, word [0x4abfd8]
mov cx, di
sub ecx, eax
mov di, cx
mov word [0x4abfd8], di
mov eax, dword [0x491c70]
movzx ecx, word [esp + 0x208]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [esp + 0x692], ax
mov ecx, dword [0x4a5ccc]
shl ecx, 4
mov ax, word [0x4ad9fc]
mov dx, ax
sub ecx, edx
mov ax, cx
mov word [0x4af388], ax
cmp dword [esp + 0xab4], 0
je 0x410887
mov eax, dword [0x4a5f18]
and eax, 0x90a170c0
mov ecx, dword [0x4a6a34]
xor ecx, eax
mov dword [0x4a6a34], ecx
mov eax, dword [esp + 0xab4]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x690]
mov dword [eax], ecx
call fcn.0044e230
mov dword [esp + 0x6a4], eax
mov eax, dword [0x495d08]
mov ecx, dword [0x4a5f58]
inc ecx
mov dword [0x4a5f58], ecx
imul ecx, ecx, 0x9b9f4e19
cmp eax, ecx
jne 0x4106f9
mov eax, dword [0x49914c]
xor eax, 0x7bf5519f
mov dword [0x49914c], eax
jmp 0x410754
mov ax, word [0x4aba14]
movsx ecx, ax
imul ecx, ecx, 0x489b074c
and ecx, 0x38506b04
mov edx, dword [0x498358]
or edx, 0x68bc4758
cmp ecx, edx
jne 0x41074f
mov ax, word [0x4abec8]
movsx ecx, ax
sar ecx, 2
xor ecx, 0x4292162d
cmp ecx, 0x3eca11b7
je 0x410745
jmp 0x41074a
jmp 0x41074a
jmp 0x41074f
jmp 0x410754
cmp dword [esp + 0x6a4], 0
jge 0x410777
mov eax, dword [0x497bc0]
imul eax, eax, 0x2f074978
mov dword [0x497bc0], eax
jmp 0x41176f
mov eax, dword [0x49abbc]
or eax, 0x78b1d99
mov dword [0x49abbc], eax
mov eax, dword [0x491c8c]
mov ecx, dword [esp + 0x6a4]
mov edx, esp
lea esi, [esp + 0xab4]
mov dword [edx + 0xc], esi
mov dword [edx], ecx
mov dword [edx + 0x10], 4
mov dword [edx + 8], 0x1006
mov dword [edx + 4], 0xffff
mov dword [esp + 0x94], esi
call eax
sub esp, 0x14
mov ecx, dword [0x498dbc]
and ecx, 0xdc1e
xor ecx, 0x7fbc
mov di, cx
mov word [0x4ae794], di
mov ecx, dword [0x491c8c]
mov edx, dword [esp + 0x6a4]
mov esi, esp
mov ebx, dword [esp + 0x94]
mov dword [esi + 0xc], ebx
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1005
mov dword [esi + 4], 0xffff
mov dword [esp + 0x90], eax
call ecx
sub esp, 0x14
mov ecx, dword [0x4a7314]
mov edx, ecx
dec edx
mov dword [0x4a7314], edx
xor ecx, 0xfc86b6db
mov edx, dword [0x4a3a68]
dec edx
mov dword [0x4a3a68], edx
add edx, 0xefc88c72
add edx, 0x3df38412
cmp ecx, edx
mov dword [esp + 0x8c], eax
je 0x41086a
mov eax, dword [0x4a2278]
xor eax, 0xbfffdbac
mov dword [0x4a2278], eax
jmp 0x410882
mov ax, word [0x4b18a6]
mov cx, ax
and ecx, 0xb091
mov ax, cx
mov word [0x4b18a6], ax
jmp 0x4109a9
mov eax, dword [0x4a091c]
and eax, 0xc0a44357
mov dword [0x4a091c], eax
mov eax, dword [0x491c90]
mov ecx, esp
mov dword [ecx + 8], 6
mov dword [ecx + 4], 1
mov dword [ecx], 2
call eax
sub esp, 0xc
mov dword [esp + 0x6a4], eax
mov eax, dword [0x49aab0]
or eax, 0x1fefd97
mov dword [0x49aab0], eax
cmp dword [esp + 0x6a4], 0xffffffff
jne 0x410913
mov eax, dword [0x4a4fac]
xor eax, 0xffffffff
add eax, 0x5800b0ee
and eax, 0x608f6b38
cmp eax, 0x7eefbff5
jg 0x41090e
mov ax, word [0x4b0d5e]
movsx ecx, ax
mov edx, dword [0x495370]
add edx, ecx
mov dword [0x495370], edx
jmp 0x41176f
lea eax, [esp + 0x690]
mov ecx, dword [0x492580]
shl ecx, 0xa
mov edx, dword [0x4a0bb4]
add edx, ecx
mov dword [0x4a0bb4], edx
mov ecx, dword [0x491c68]
mov edx, dword [esp + 0x6a4]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x10
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x41096e
mov eax, dword [0x4a2d40]
add eax, 0x1aefabec
mov dword [0x4a2d40], eax
jmp 0x4116f7
mov eax, dword [0x4a8bc8]
mov ecx, eax
dec ecx
mov dword [0x4a8bc8], ecx
and eax, 0x4b5b78ea
mov dx, word [0x4b1234]
mov cx, dx
inc ecx
mov si, cx
mov word [0x4b1234], si
movsx ecx, dx
xor eax, ecx
mov ecx, dword [0x49f088]
add ecx, eax
mov dword [0x49f088], ecx
mov eax, 0x88c50966
mov cx, word [0x4b07ba]
movsx edx, cx
mov esi, dword [0x498f5c]
or edx, esi
or edx, 0xbbc9b6b9
mov dword [0x498f5c], edx
mov edx, dword [0x491c88]
lea esi, [esp + 0x67c]
mov ecx, esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], esi
call fcn.0042ce10
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
call fcn.00413b90
mov ecx, dword [esp + 0x6a4]
mov edx, esp
mov esi, dword [esp + 0x7c]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov eax, dword [esp + 0x84]
call eax
sub esp, 0x10
mov dword [esp + 0x6a0], eax
mov di, word [0x4acf62]
mov ax, di
dec eax
mov bx, ax
mov word [0x4acf62], bx
movsx eax, di
and eax, 0xb71d1365
xor eax, 0x98cce215
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jne 0x410a79
mov eax, dword [0x4a577c]
add eax, 0x84b09062
mov dword [0x4a577c], eax
jmp 0x410a89
mov eax, dword [0x4a59e4]
imul eax, eax, 0x1a0107b4
mov dword [0x4a59e4], eax
lea eax, [esp + 0x67c]
mov ecx, dword [esp + 0x6a0]
mov dword [esp + 0x78], ecx
mov ecx, eax
call fcn.0042ce10
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jae 0x410ace
mov eax, dword [0x4a704c]
mov ecx, dword [0x499dc8]
or eax, ecx
mov ecx, dword [0x49b8b0]
sub ecx, eax
mov dword [0x49b8b0], ecx
jmp 0x4116f7
mov ax, word [0x4ad384]
mov cx, ax
or ecx, 0x5fd6
mov ax, cx
mov word [0x4ad384], ax
mov ecx, dword [esp + 0xab0]
call fcn.00423140
mov ecx, dword [0x496680]
or ecx, 0xd67572d7
mov edx, dword [0x499290]
sub edx, ecx
mov dword [0x499290], edx
mov eax, dword [0x4975c4]
xor eax, 0xc07bd7d7
cmp eax, 0x5f7edfbf
jl 0x410b3d
mov eax, dword [0x49cffc]
mov ecx, eax
inc ecx
mov dword [0x49cffc], ecx
mov ecx, dword [0x49df08]
add ecx, eax
mov dword [0x49df08], ecx
mov eax, dword [0x491c80]
mov ecx, dword [esp + 0x6a4]
mov edx, esp
lea esi, [esp + 0x237]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0x400
call eax
sub esp, 0x10
mov dword [esp + 0x6a0], eax
mov eax, dword [0x4a1c40]
or eax, 0xcd299374
mov dword [0x4a1c40], eax
cmp dword [esp + 0x6a0], 0
jle 0x410bb1
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0041c1f0
cmp eax, 0
je 0x410bce
mov ax, word [0x4b540c]
mov cx, ax
xor ecx, 0x476f
mov ax, cx
mov word [0x4b540c], ax
jmp 0x411514
mov eax, dword [0x491fac]
or eax, 0xa630782c
mov dword [0x491fac], eax
mov eax, dword [esp + 0xab0]
mov ecx, eax
mov dword [esp + 0x74], eax
call fcn.0042ce10
mov ecx, dword [esp + 0x6a0]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x74]
call fcn.0043f760
sub esp, 8
mov eax, dword [0x4978e8]
mov ecx, 0x50b0bb96
sub ecx, eax
xor ecx, 0xf4e2
mov dx, word [0x4aa284]
mov ax, dx
imul eax, ecx
mov dx, ax
mov word [0x4aa284], dx
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.0042fd70
cmp eax, 0
jne 0x410ca5
mov eax, dword [0x499a84]
imul eax, eax, 0xdb492f2f
or eax, 0x670a320f
mov cx, word [0x4ab170]
movsx edx, cx
mov cx, word [0x4b580a]
mov si, cx
inc esi
mov di, si
mov word [0x4b580a], di
movsx esi, cx
add esi, 0x2e1c7a4a
or edx, esi
cmp eax, edx
jle 0x410ca0
mov eax, dword [0x495284]
xor eax, 0x4eeb7fa3
mov dword [0x495284], eax
jmp 0x411514
mov ax, word [0x4b0d9e]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4b0d9e], dx
movsx ecx, ax
add ecx, 0xd8e2ab6b
mov esi, dword [0x4a7164]
and ecx, esi
and ecx, 0xacaf4392
mov dword [0x4a7164], ecx
mov ecx, dword [esp + 0xab0]
mov esi, dword [esp + 0x6a0]
mov edi, esp
mov dword [edi + 4], esi
lea esi, [esp + 0x237]
mov dword [edi], esi
call fcn.00412ef0
sub esp, 8
mov dx, word [0x4b433c]
mov cx, dx
xor ecx, 0x598
mov dx, cx
mov word [0x4b433c], dx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x70], eax
jge 0x41106c
mov eax, 0xedd6ee80
mov ecx, dword [0x4a371c]
and ecx, 0xff7bbdde
mov dword [0x4a371c], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x2fb8
mov dword [esp + 0x6c], eax
call fcn.0042df40
mov dword [esp + 0xa84], eax
mov eax, dword [0x49f064]
xor eax, 0x431122e6
mov dword [0x49f064], eax
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa84]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x68], ecx
mov ecx, eax
mov dword [esp + 0x64], eax
call fcn.00414660
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x64]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x60], eax
call fcn.0043aa60
sub esp, 8
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x64]
call fcn.004504a0
mov si, word [0x4b0f5c]
movsx eax, si
mov ecx, dword [0x4a2fec]
or ecx, eax
mov dword [0x4a2fec], ecx
mov eax, dword [esp + 0xa84]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041e970
mov eax, dword [0x494a78]
or eax, 0x75b800b4
or eax, 0xa4aa016e
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jge 0x410e58
mov eax, 0x95059819
mov ecx, dword [0x498f94]
imul ecx, ecx, 0x6a36fa2f
imul ecx, ecx, 0x75070035
cmp eax, ecx
jle 0x410e53
mov ax, word [0x4aa548]
mov cx, ax
lea ecx, [ecx*8 - 0x59f1fdb2]
mov ax, word [0x4aea32]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4aea32], ax
jmp 0x410e58
cmp dword [esp + 0x210], 0
jl 0x411062
mov eax, 0x4795ed3b
mov cx, word [0x4aae14]
mov dx, cx
inc edx
mov si, dx
mov word [0x4aae14], si
movsx edx, cx
add edx, 0xdd63e5b5
or edx, 0x8683310f
mov edi, dword [0x4a50a4]
xor edi, edx
mov dword [0x4a50a4], edi
mov edx, dword [esp + 0x210]
add edx, 4
mov dword [esp + 0x210], edx
mov edx, dword [0x4a2b88]
add edx, 0xb3a27896
mov dword [0x4a2b88], edx
mov edx, dword [esp + 0xab0]
mov edi, esp
mov dword [edi], edx
mov dword [esp + 0x5c], eax
call fcn.0044eca0
mov dword [esp + 0x20c], eax
mov eax, dword [0x492b98]
mov edx, eax
inc edx
mov dword [0x492b98], edx
mov edx, dword [esp + 0x5c]
cmp edx, eax
jne 0x410f0d
mov ax, word [0x4af0dc]
mov cx, ax
imul ecx, ecx, 0x261048c0
mov ax, cx
mov word [0x4af0dc], ax
cmp dword [esp + 0x20c], 0
jge 0x41103f
mov eax, 0xf3ce3fb1
mov ecx, dword [0x4998ec]
dec ecx
mov dword [0x4998ec], ecx
imul ecx, ecx, 0x9ce07ab0
or ecx, 0x8dcabb20
cmp eax, ecx
jle 0x410f50
mov eax, dword [0x4965f0]
xor eax, 0x2ce2df67
mov dword [0x4965f0], eax
mov eax, esp
mov dword [eax + 4], 0xb
mov dword [eax], 0x4509
call fcn.0042df40
mov dword [esp + 0xa80], eax
mov dword [0x49bac0], 0x4240d60
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa80]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x14c]
mov dword [esp + 0x58], ecx
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.00414660
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
call fcn.0043aa60
sub esp, 8
mov dword [esp + 0x6a0], eax
mov ecx, dword [esp + 0x54]
call fcn.004504a0
mov eax, dword [0x492588]
dec eax
mov dword [0x492588], eax
mov dword [0x492050], eax
mov eax, dword [esp + 0xa80]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.0041e970
mov eax, dword [0x497380]
xor eax, 0xf26f7b6f
mov dword [0x497380], eax
cmp dword [esp + 0x6a0], 0
jl 0x411030
mov ax, word [0x4b11e2]
mov cx, ax
add ecx, 0x1a7a42f1
mov ax, cx
mov word [0x4b11e2], ax
jmp 0x411514
mov eax, dword [0x492494]
add eax, 0x90b2015
mov dword [0x492494], eax
mov ax, word [0x4aa856]
movsx ecx, ax
xor ecx, 0xb0458b00
or ecx, 0x4f2a34fd
mov edx, dword [0x4a7c38]
sub edx, ecx
mov dword [0x4a7c38], edx
mov dword [0x4a61b0], 0x205533cb
mov eax, dword [0x4a7320]
shl eax, 8
and eax, 0x9e266200
xor eax, 0x9271e69c
mov ecx, dword [0x4a8310]
imul ecx, eax
mov dword [0x4a8310], ecx
cmp dword [esp + 0x20c], 0
jl 0x4110f8
mov eax, dword [0x4a83bc]
or eax, 0x563cd1be
mov dword [0x4a83bc], eax
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.0042ce10
sub eax, dword [esp + 0x210]
cmp eax, dword [esp + 0x20c]
jb 0x4110e0
mov eax, dword [0x49ff40]
add eax, 0x55b394d6
mov dword [0x49ff40], eax
jmp 0x411514
mov eax, dword [0x4a0a40]
or eax, 0xd6a5f14
mov ecx, dword [0x4a481c]
add ecx, eax
mov dword [0x4a481c], ecx
mov eax, dword [0x4a9224]
and eax, 0xbd8888a5
mov dword [0x4a9224], eax
cmp dword [esp + 0xab8], 0
je 0x411435
test byte [esp + 0x207], 1
jne 0x411435
mov word [0x4b26cc], 0x6265
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.0042ce10
cmp eax, 0x4000
jbe 0x411426
mov eax, dword [0x4a7d48]
add eax, 0x4bda4903
mov dword [0x4a7d48], eax
mov byte [esp + 0x207], 1
mov eax, dword [0x493344]
mov ecx, eax
dec ecx
mov dword [0x493344], ecx
add eax, 0x707fb9a6
cmp eax, 0xfa1e73d3
jg 0x4111ae
mov eax, 0x3c15519d
mov ecx, dword [0x4a4340]
or ecx, 0x3efd21bc
or ecx, 0xd8fe3870
cmp eax, ecx
jle 0x4111a9
mov eax, dword [0x4934fc]
imul eax, eax, 0x44599b99
mov dword [0x4934fc], eax
jmp 0x4111de
mov ax, word [0x4ad808]
mov cx, ax
add ecx, ecx
mov edx, dword [0x4a1ca4]
shr edx, 5
add edx, 0x1094b853
or ecx, edx
mov ax, word [0x4afc28]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4afc28], ax
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x138]
call fcn.004433a0
sub esp, 4
mov ecx, dword [0x497344]
imul ecx, ecx, 0xcd6ec321
mov dword [0x497344], ecx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x4c], eax
jl 0x4112a4
mov eax, 0x74f4b16c
mov cx, word [0x4b26d0]
movsx edx, cx
mov esi, dword [0x4a6c48]
and edx, esi
and edx, 0x3e27fbe6
cmp eax, edx
jne 0x411251
mov eax, dword [0x4988ec]
imul eax, eax, 0x3729c560
mov dword [0x4988ec], eax
mov eax, dword [esp + 0x210]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x138]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
call fcn.00446380
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x48]
call fcn.0041ca30
sub esp, 8
mov ecx, dword [0x4a31cc]
xor ecx, 0xfaf7f2f7
mov dword [0x4a31cc], ecx
mov dword [esp + 0x40], eax
lea eax, [esp + 0x138]
lea ecx, [esp + 0x8ee]
mov edx, dword [0x492434]
imul edx, edx, 0xc7fccffb
mov dword [0x492434], edx
mov edx, dword [esp + 0xab8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e010
cmp eax, 0
jne 0x4113b5
mov eax, 0x3485e65d
mov ecx, dword [0x49dbdc]
or ecx, 0xcfbe3fe5
mov dword [0x49dbdc], ecx
mov dword [esp + 0x210], 0xffffffff
mov ecx, dword [0x4a3134]
mov edx, dword [0x495b30]
or edx, ecx
mov dword [0x495b30], edx
mov ecx, dword [esp + 0xab0]
mov dword [esp + 0x3c], eax
call fcn.00423140
mov si, word [0x4acfa2]
mov ax, si
inc eax
mov si, ax
mov word [0x4acfa2], si
movsx eax, si
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jg 0x411396
mov eax, 0x63d8d8b8
mov cx, word [0x4ac3ce]
movsx edx, cx
not edx
mov cx, word [0x4ac91c]
movsx esi, cx
imul esi, esi, 0x9acb9c93
xor edx, esi
cmp eax, edx
jge 0x411391
mov ax, word [0x4b4f7a]
mov cx, ax
or ecx, 0xedf1
mov ax, cx
mov word [0x4b4f7a], ax
jmp 0x4113a5
mov eax, dword [0x49cf04]
or eax, 0x2a523a9
mov dword [0x49cf04], eax
mov dword [esp + 0x134], 0xd
jmp 0x4113e7
mov eax, dword [0x4a448c]
mov ecx, dword [0x492cb8]
dec ecx
mov dword [0x492cb8], ecx
xor eax, ecx
or eax, 0x173c6cc4
mov ecx, dword [0x4a4174]
add ecx, eax
mov dword [0x4a4174], ecx
mov dword [esp + 0x134], 0
lea ecx, [esp + 0x138]
call fcn.00432a00
mov ecx, dword [esp + 0x134]
test ecx, ecx
mov dword [esp + 0x38], ecx
je 0x411421
jmp 0x41140b
mov eax, dword [esp + 0x38]
sub eax, 0xd
mov dword [esp + 0x34], eax
je 0x411514
jmp 0x411875
jmp 0x411426
mov eax, dword [0x4a0c38]
add eax, 0x88d923b6
mov dword [0x4a0c38], eax
mov ax, word [0x4aebc6]
mov cx, ax
xor ecx, 0xe08e
mov ax, cx
mov word [0x4aebc6], ax
cmp dword [esp + 0xab4], 0x3aee
jne 0x411505
mov eax, dword [0x49c9b8]
mov ecx, eax
inc ecx
mov dword [0x49c9b8], ecx
mov ecx, 0x17c991f5
sub ecx, eax
mov dx, word [0x4addbc]
mov ax, dx
or eax, ecx
mov dx, ax
mov word [0x4addbc], dx
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.0042ce10
cmp eax, 0x500000
jbe 0x4114b0
mov word [0x4afe26], 0xf5cd
jmp 0x411514
mov eax, dword [0x496860]
or eax, 0x5feff772
mov ecx, dword [0x49db14]
inc ecx
mov dword [0x49db14], ecx
xor ecx, 0xbbd56fec
or ecx, 0x1a602e83
cmp eax, ecx
jg 0x411500
mov eax, dword [0x4a68f4]
sar eax, 7
mov ecx, dword [0x4a6684]
mov edx, 0xb8ec85b4
sub edx, ecx
or eax, edx
mov ecx, dword [0x49b614]
xor ecx, eax
mov dword [0x49b614], ecx
jmp 0x411505
mov dword [0x4a2184], 0xdfdd2e46
jmp 0x410b0c
mov eax, dword [0x4a796c]
add eax, 0xaf4115d7
xor eax, 0x7323ecf8
mov dword [0x4a025c], eax
cmp dword [esp + 0x210], 0
jl 0x41159b
mov eax, dword [0x4a6468]
imul eax, eax, 0x64b6a437
mov dword [0x4a6468], eax
mov eax, dword [esp + 0xab0]
mov ecx, dword [esp + 0x210]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x30], ecx
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.00446380
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
call fcn.0041ca30
sub esp, 8
mov ecx, dword [0x49ddd4]
add ecx, 0x71250a51
mov dword [0x499248], ecx
mov dword [esp + 0x28], eax
mov eax, 0x3748002
mov ecx, dword [0x497338]
mov edx, dword [0x49b20c]
dec edx
mov dword [0x49b20c], edx
and edx, 0xf49380a7
or ecx, edx
cmp eax, ecx
jg 0x4115d2
mov eax, dword [0x49f030]
or eax, 0x7bfdabfb
mov dword [0x49f030], eax
cmp dword [esp + 0xab8], 0
je 0x4116d3
test byte [esp + 0x207], 1
jne 0x4116d3
lea eax, [esp + 0x8ee]
mov cx, word [0x4b186e]
movsx edx, cx
shr edx, 2
add edx, 0xf7dd88f0
mov cx, word [0x4ae180]
mov si, cx
and esi, edx
mov cx, si
mov word [0x4ae180], cx
mov edx, dword [esp + 0xab8]
mov esi, dword [esp + 0xab0]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040e010
cmp eax, 0
jne 0x4116bb
mov eax, 0xb950ac12
mov cx, word [0x4aac62]
movsx edx, cx
not edx
mov esi, dword [0x4a7428]
add esi, edx
mov dword [0x4a7428], esi
mov ecx, dword [esp + 0xab0]
mov dword [esp + 0x24], eax
call fcn.00423140
mov di, word [0x4ace38]
mov ax, di
dec eax
mov bx, ax
mov word [0x4ace38], bx
movsx eax, di
mov ecx, dword [0x4a8eb8]
imul eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jne 0x4116b6
mov ax, word [0x4ae5d0]
movsx ecx, ax
add ecx, 0xa2fa97a5
mov dword [0x49a720], ecx
jmp 0x4116bb
mov ax, word [0x4afd04]
mov cx, ax
xor ecx, 0xeea9
mov ax, cx
mov word [0x4afd04], ax
mov eax, dword [0x4a9c0c]
shr eax, 6
imul eax, eax, 0x4bcf569
mov cx, word [0x4ad1fc]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4ad1fc], cx
mov eax, dword [0x491c98]
mov ecx, dword [esp + 0x6a4]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x4a433c]
add ecx, 0xfa93de49
mov dword [0x4a433c], ecx
mov ecx, dword [0x491c64]
mov edx, dword [esp + 0x6a4]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov di, word [0x4ad49e]
mov cx, di
dec ecx
mov di, cx
mov word [0x4ad49e], di
movsx ecx, di
or ecx, 0xc138bb63
mov edx, dword [0x49d0f4]
sub edx, ecx
mov dword [0x49d0f4], edx
mov dword [esp + 0x1c], eax
mov eax, 0xa4578824
mov ecx, esp
lea edx, [esp + 0x8ee]
mov dword [ecx], edx
mov dword [ecx + 4], 0xc5
mov dword [esp + 0x18], eax
call fcn.00439e20
mov eax, dword [0x4a6c00]
imul eax, eax, 0xb5407006
mov dword [0x4a6c00], eax
mov eax, esp
lea ecx, [esp + 0x9b3]
mov dword [eax], ecx
mov dword [eax + 4], 0xc5
call fcn.00439e20
mov eax, dword [0x4a14c4]
sar eax, 0xa
mov si, word [0x4ae5c8]
mov cx, si
dec ecx
mov si, cx
mov word [0x4ae5c8], si
movsx ecx, si
or eax, ecx
mov ecx, dword [0x4a3fc4]
or eax, ecx
or eax, 0xd05211fb
mov dword [0x4a3fc4], eax
mov eax, esp
lea ecx, [esp + 0x6a9]
mov dword [eax], ecx
mov dword [eax + 4], 0x245
call fcn.00439e20
mov si, word [0x4b599c]
mov ax, si
imul eax, eax, 0xd86165f8
mov si, ax
mov word [0x4b599c], si
mov eax, esp
lea ecx, [esp + 0x237]
mov dword [eax], ecx
mov dword [eax + 4], 0x445
call fcn.00439e20
mov eax, dword [0x4a2258]
mov ecx, eax
dec ecx
mov dword [0x4a2258], ecx
xor eax, 0xd4baee0f
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jne 0x411861
mov eax, dword [0x4a8418]
imul eax, eax, 0x748974e8
mov dword [0x499cb4], eax
lea ecx, [esp + 0x67c]
call fcn.00432a00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3