Function at 0x409280
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x744
push ebp
push esi
push edi
mov ecx, 0x3d
xor eax, eax
lea edi, [esp + 0x25c]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x754]
push 0x507b58
lea ecx, [esp + 0x40]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebp
call fcn.00441e00
mov esi, eax
add esp, 0xc
cmp esi, ebp
jne 0x40c541
mov edx, dword [esp + 0x758]
mov eax, dword [edx + 0x35c]
cmp eax, ebp
jne 0x4092f7
call fcn.00405670
cmp eax, ebp
mov dword [esp + 0x24], eax
jne 0x4092fb
mov esi, 0xa
jmp 0x40c541
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x34]
push ebx
push eax
lea ecx, [esp + 0x358]
push 0x200
push ecx
push edx
mov dword [esp + 0x44], 2
call fcn.00403880
add esp, 0x10
cmp eax, ebp
je 0x40c48f
mov esi, 0x507b54
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x409358
test cl, cl
je 0x409354
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x409358
add eax, 2
add esi, 2
test cl, cl
jne 0x409330
xor eax, eax
jmp 0x40935d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x40936e
mov dword [esp + 0x14], str.Unknown_.3dc_file_format
jmp 0x40c48f
cmp dword [0x51a204], ebp
jne 0x40938c
call fcn.00407070
test eax, eax
je 0x40938c
mov dword [esp + 0x34], 0xa
jmp 0x40c48f
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x358]
push 0x200
push ecx
push edx
call fcn.00403880
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
je 0x40c48b
mov cl, byte [eax]
test cl, cl
je 0x40c48b
cmp cl, 0x5d
je case.0x409c2b.25
mov edx, eax
mov dword [esp + 0x1c], edx
mov cl, byte [eax]
test cl, cl
je 0x4093ee
cmp cl, 0x3d
je 0x4093ee
cmp cl, 9
je 0x4093ee
cmp cl, 0x20
je 0x4093ee
inc edx
mov dword [esp + 0x1c], edx
mov cl, byte [edx]
test cl, cl
jne 0x4093d4
mov cl, byte [edx]
test cl, cl
je case.0x409c2b.25
cmp cl, 0x5b
mov byte [edx], 0
je 0x40945a
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
mov cl, byte [edx]
test cl, cl
je 0x409424
cmp cl, 9
je 0x409419
cmp cl, 0x20
jne 0x409424
inc edx
mov dword [esp + 0x1c], edx
mov cl, byte [edx]
test cl, cl
jne 0x40940f
push eax
call fcn.00407050
add esp, 4
cmp eax, 2
je 0x40944b
cmp eax, 1
je 0x40944b
mov ecx, dword [esp + 0x1c]
cmp byte [ecx], 0x3d
jne case.0x409c2b.25
inc ecx
mov dword [esp + 0x1c], ecx
jmp 0x409463
mov edx, dword [esp + 0x1c]
cmp byte [edx], 0x5b
jne case.0x409c2b.25
jmp 0x409463
push eax
call fcn.00407050
add esp, 4
cmp eax, 0x106
jg 0x40c195
je 0x40c185
cmp eax, 0x103
jg 0x40c14b
je 0x40c125
dec eax
je 0x4094c3
dec eax
je 0x4094b6
sub eax, 0x100
jne case.default.0x40c1a3
mov eax, dword [esp + 0x1c]
push eax
call fcn.00403700
push eax
call fcn.00403190
add esp, 8
test eax, eax
je 0x40c234
jmp 0x40938c
lea ecx, [esp + 0x260]
mov dword [esp + 0x18], ecx
jmp 0x409526
push ebp
push 0x10103
push 0xf4
call fcn.004430a0
mov ebx, eax
add esp, 0xc
cmp ebx, ebp
mov dword [esp + 0x18], ebx
je 0x40937f
mov ecx, 0x3d
lea esi, [esp + 0x260]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x300]
push edx
call fcn.004127c0
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0xa0], eax
mov eax, dword [esp + 0x764]
and ecx, 0xfffffff7
and eax, 1
add esp, 4
shl eax, 3
or eax, ecx
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x10], ebp
xor ebx, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x358]
push 0x200
push eax
push ecx
call fcn.00403880
mov esi, eax
xor ebp, ebp
add esp, 0x10
cmp esi, ebp
je 0x40c48f
mov al, byte [esi]
test al, al
je 0x40c48f
cmp al, 0x5d
jne 0x409589
cmp dword [esp + 0x2c], ebp
jne 0x409530
cmp dword [esp + 0x10], ebp
je 0x40c0b5
mov dword [esp + 0x24], ebp
xor ebx, ebx
mov dword [esp + 0x10], ebp
jmp case.0x40b07a.6
mov edx, esi
mov dword [esp + 0x1c], edx
mov cl, byte [esi]
test cl, cl
je 0x4095af
cmp cl, 0x3d
je 0x4095af
cmp cl, 9
je 0x4095af
cmp cl, 0x20
je 0x4095af
inc edx
mov dword [esp + 0x1c], edx
mov cl, byte [edx]
test cl, cl
jne 0x409595
mov al, byte [edx]
push esi
mov byte [esp + 0x27], al
mov byte [edx], 0
call fcn.00407050
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0x27]
mov edi, eax
add esp, 4
mov byte [ecx], dl
lea eax, [edi - 3]
cmp eax, 0x50
ja case.0x4095e1.15
xor ecx, ecx
mov cl, byte [eax + 0x40c598]
jmp dword [ecx*4 + 0x40c564]
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
test cl, cl
je 0x409607
cmp cl, 9
je 0x4095fc
cmp cl, 0x20
jne 0x409607
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x4095f2
cmp byte [eax], 0x3d
jne case.0x409c2b.25
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
je 0x409630
cmp cl, 9
je 0x409625
cmp cl, 0x20
jne 0x409630
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x40961b
mov cl, byte [eax]
mov edx, eax
test cl, cl
je case.0x409c2b.25
cmp cl, 0x3d
je 0x409656
cmp cl, 9
je 0x409656
cmp cl, 0x20
je 0x409656
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x40963c
push edx
mov edx, dword [esp + 0x2c]
push edx
mov byte [eax], 0
call fcn.004058c0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x40c279
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x409688
push eax
call fcn.00412860
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, 0x3d
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov dword [eax + 0xf0], ecx
mov edx, dword [ebp + 0xf0]
mov eax, dword [esp + 0x44]
inc edx
cmp eax, ecx
mov dword [ebp + 0xf0], edx
jne case.0x40b07a.6
mov dword [esp + 0x3c], 1
jmp case.0x40b07a.6
mov eax, dword [esp + 0x18]
cmp dword [eax], ebp
je 0x40c286
mov dword [eax + 0xa0], ebp
jmp case.0x40b07a.6
mov eax, dword [esp + 0x18]
cmp dword [eax], ebp
je 0x40c286
mov dword [eax + 0xa4], ebp
jmp case.0x40b07a.6
mov eax, dword [esp + 0x18]
cmp dword [eax], ebp
je 0x40c286
mov dword [eax + 0xa8], ebp
jmp case.0x40b07a.6
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
test cl, cl
je 0x40972c
cmp cl, 9
je 0x409721
cmp cl, 0x20
jne 0x40972c
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409717
mov cl, byte [eax]
mov esi, eax
test cl, cl
je 0x40974e
cmp cl, 0x3d
je 0x40974e
cmp cl, 9
je 0x40974e
cmp cl, 0x20
je 0x40974e
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409734
mov edx, dword [esp + 0x28]
mov cl, byte [eax]
push esi
push edx
mov byte [esp + 0x2b], cl
mov byte [eax], 0
call fcn.004058c0
add esp, 8
cmp eax, ebp
jne 0x4097a8
cmp edi, 0x53
mov eax, str.RANDOM
je 0x409778
mov eax, str.HAVE
mov ecx, dword [esp + 0x758]
push esi
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
lea edx, [esp + 0x70]
push str._s:_d:_Invalid__s_class__s._Ignored.
push edx
call fcn.0044cb10
lea eax, [esp + 0x78]
push eax
call fcn.004036b0
add esp, 0x1c
jmp case.0x40b07a.6
mov edx, dword [esp + 0x75c]
push ebp
push ebp
lea ecx, [esp + 0x60]
push ebp
push ecx
push eax
push edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
call fcn.00412a70
mov esi, eax
add esp, 0x18
cmp esi, ebp
je 0x40c293
mov eax, dword [esp + 0x18]
cmp edi, 3
jne 0x4097f8
mov ecx, dword [eax + 0xa4]
mov dword [esi + 8], ecx
mov dword [eax + 0xa4], esi
jmp case.0x40b07a.6
mov edx, dword [eax + 0xa8]
mov dword [esi + 8], edx
mov dword [eax + 0xa8], esi
mov al, byte [esp + 0x23]
test al, al
je case.0x409c2b.25
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
test cl, cl
je 0x409838
cmp cl, 9
je 0x40982d
cmp cl, 0x20
jne 0x409838
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409823
mov cl, byte [eax]
test cl, cl
je case.0x409c2b.25
mov edx, eax
cmp cl, 0x3d
je 0x40985e
cmp cl, 9
je 0x40985e
cmp cl, 0x20
je 0x40985e
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409844
mov cl, byte [eax]
test cl, cl
mov byte [esp + 0x23], cl
je case.0x409c2b.25
push edx
mov byte [eax], 0
call fcn.00403700
add esp, 4
cmp eax, ebp
jge 0x40987e
neg eax
mov dword [esi + 0x2b0], eax
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0x23]
mov byte [edx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x4098ab
cmp al, 9
je 0x4098a0
cmp al, 0x20
jne 0x4098ab
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409898
mov al, byte [ecx]
test al, al
je case.0x409c2b.25
mov edx, ecx
cmp al, 0x3d
je 0x4098ce
cmp al, 9
je 0x4098ce
cmp al, 0x20
je 0x4098ce
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x4098b7
push edx
mov byte [ecx], 0
call fcn.00403700
add esp, 4
cmp eax, ebp
jge 0x4098e0
neg eax
mov dword [esi + 0x2b4], eax
jmp case.0x40b07a.6
cmp dword [esp + 0x24], ebp
jne 0x40c2be
cmp ebx, ebp
jne 0x40c2be
cmp edi, 6
jne 0x40992e
call fcn.00406880
cmp eax, ebp
mov dword [esp + 0x10], eax
je 0x40c2a0
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x11
mov edx, dword [ecx + 0xa0]
mov dword [eax + 4], edx
mov dword [ecx + 0xa0], eax
jmp 0x40994a
mov eax, dword [esp + 0x18]
push edi
add eax, 0xa0
lea ecx, [esp + 0x20]
push eax
push ecx
call fcn.00408f70
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, ebp
je 0x40c2a0
cmp edi, 4
je 0x409967
cmp edi, 6
je 0x409967
mov dword [esp + 0x24], ebp
mov ebx, eax
jmp case.0x40b07a.6
mov dword [esp + 0x24], eax
xor ebx, ebx
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c2cb
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0x2c
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x4099c0
cmp al, 9
je 0x4099b5
cmp al, 0x20
jne 0x4099c0
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x4099ad
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c36d
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0x38
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x409a1c
cmp al, 9
je 0x409a11
cmp al, 0x20
jne 0x409a1c
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409a09
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c2f2
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0x44
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x409a78
cmp al, 9
je 0x409a6d
cmp al, 0x20
jne 0x409a78
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409a65
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c2cb
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0x68
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x409ad4
cmp al, 9
je 0x409ac9
cmp al, 0x20
jne 0x409ad4
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409ac1
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c36d
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0xac
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x409b33
cmp al, 9
je 0x409b28
cmp al, 0x20
jne 0x409b33
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409b20
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
cmp dword [esp + 0x10], ebp
jne 0x40c2f2
cmp dword [esp + 0x2c], ebp
jne 0x40c2d8
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x23]
add edx, 0xb8
cmp al, 0x5b
mov dword [esp + 0x2c], edx
je case.0x40b07a.6
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x409b92
cmp al, 9
je 0x409b87
cmp al, 0x20
jne 0x409b92
inc ecx
mov dword [esp + 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409b7f
cmp byte [ecx], 0x5b
jne 0x40c2e5
jmp case.0x40b07a.6
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0x23]
mov byte [edx], al
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
test cl, cl
je 0x409bc9
cmp cl, 9
je 0x409bbe
cmp cl, 0x20
jne 0x409bc9
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409bb4
cmp byte [eax], 0x3d
jne 0x40c2ff
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
je 0x409bf2
cmp cl, 9
je 0x409be7
cmp cl, 0x20
jne 0x409bf2
inc eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
test cl, cl
jne 0x409bdd
mov cl, byte [eax]
mov ebp, eax
test cl, cl
je 0x409c04
inc eax
mov dword [esp + 0x1c], eax
cmp byte [eax], 0
jne 0x409bfa
dec eax
mov dword [esp + 0x1c], eax
mov cl, byte [eax]
cmp cl, 9
je 0x409c04
cmp cl, 0x20
je 0x409c04
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], 0
lea eax, [edi - 6]
cmp eax, 0xf9
ja case.0x409c2b.25
jmp dword [eax*4 + 0x40c5ec]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40c30c
push eax
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je 0x40c30c
jmp case.0x40b07a.6
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40c319
add eax, 4
push eax
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je 0x40c319
jmp case.0x40b07a.6
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x409c9d
add eax, 8
push eax
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je 0x40c326
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0xc
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [edx + 0x18], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je 0x409d25
mov eax, dword [esp + 0x28]
push ebp
push eax
call fcn.004058c0
add esp, 8
test eax, eax
je 0x40c333
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
cmp ecx, 0xc
jne 0x409cfa
mov dword [edx + 0x10], eax
jmp case.0x40b07a.6
cmp ecx, 0xa
jne 0x409d07
mov dword [edx + 0x10], eax
jmp case.0x40b07a.6
cmp ecx, 0x11
jne 0x409d14
mov dword [edx + 0x10], eax
jmp case.0x40b07a.6
cmp ecx, 0x10
jne 0x40c340
mov dword [edx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
jne 0x40c34d
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x260]
cmp esi, ecx
jne 0x409d4e
push str.Ignoring_NAME_in_DEFAULT_OBJECT_PROPERTY
call fcn.004036e0
add esp, 4
jmp case.0x40b07a.6
push 0
push ebp
call fcn.00403730
mov edi, dword [esp + 0x30]
push eax
push edi
mov dword [esi + 4], eax
call fcn.004058c0
add esp, 0x10
test eax, eax
jne 0x40c35a
mov edx, dword [esi + 4]
push esi
push edx
push edi
call fcn.00405810
add esp, 0xc
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x409da9
cmp dword [eax], 0
je 0x40c37a
mov dword [eax + 8], 0
mov edi, str.Data_
or ecx, 0xffffffff
xor eax, eax
push 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebp
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x10101
mov dword [esp + 0x38], edx
lea eax, [ecx + edx + 2]
push eax
call fcn.004430a0
mov edx, eax
mov eax, dword [esp + 0x24]
mov edi, str.Data_
or ecx, 0xffffffff
mov dword [eax + 8], edx
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x30]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov cl, byte [eax + edx - 1]
add eax, edx
cmp cl, 0x5c
je 0x409e29
mov byte [eax], 0x5c
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 8]
add edx, eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x409e84
mov eax, dword [esi]
test eax, eax
je 0x40c387
cmp ecx, dword [eax + 0xc]
jne 0x40c387
push ebp
call fcn.00403700
add esp, 4
mov dword [esi + 0xc], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x409ebc
cmp dword [eax], 0
je 0x40c394
mov dword [eax + 0x10], 0
mov edi, str.Data_
or ecx, 0xffffffff
xor eax, eax
push 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebp
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x10101
mov dword [esp + 0x38], edx
lea eax, [ecx + edx + 2]
push eax
call fcn.004430a0
mov ecx, dword [esp + 0x24]
mov edx, eax
mov edi, str.Data_
xor eax, eax
mov dword [ecx + 0x10], edx
or ecx, 0xffffffff
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x30]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
mov cl, byte [eax + edx - 1]
add eax, edx
cmp cl, 0x5c
je 0x409f3c
mov byte [eax], 0x5c
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 0x10]
jmp 0x409e34
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x409f76
mov eax, dword [esi]
test eax, eax
je 0x40c3a1
cmp ecx, dword [eax + 0x14]
jne 0x40c3a1
push ebp
call fcn.00403700
add esp, 4
mov dword [esi + 0x14], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov ecx, dword [esp + 0x75c]
push 1
push ebp
mov edx, dword [ecx + 0x358]
push edx
call fcn.004059d0
mov ecx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
mov dword [ecx + 0x18], eax
je 0x40c3ae
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
add eax, 0x24
push ebp
push eax
call fcn.00408700
add esp, 0xc
test eax, eax
je case.0x409c2b.25
mov dword [esp + 0x3c], 1
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x12
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfffbffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 2
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfffffffb
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 4
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffffffef
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 5
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffffffdf
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x11
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfffdffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x13
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfff7ffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x14
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffefffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 8
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xfe
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x50], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov edx, dword [esp + 0x18]
add edx, 0x8c
push edx
push ebp
call fcn.00406d40
add esp, 8
test eax, eax
je case.0x409c2b.25
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov eax, dword [esp + 0x18]
add eax, 0x94
push eax
jmp 0x40a1b3
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov ecx, dword [esp + 0x18]
add ecx, 0x9c
push ecx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov edx, dword [esp + 0x18]
add edx, 0xc4
push edx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov eax, dword [esp + 0x18]
add eax, 0xc8
push eax
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0xcc], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 9
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xfd
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
add esp, 4
shl eax, 0x1f
mov edx, dword [ecx + 0x1c]
and edx, 0x7fffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [edx + 0x20]
mov esi, ecx
xor esi, eax
and esi, 1
xor esi, ecx
mov dword [edx + 0x20], esi
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 1
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xfffffffd
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 2
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xfffffffb
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 3
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xfffffff7
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 4
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xffffffef
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x1a
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfbffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x19
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfdffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x1b
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xf7ffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xb
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xf7
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 6
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffffffbf
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 7
mov edx, dword [ecx + 0x1c]
add esp, 4
and dl, 0x7f
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xe
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xbf
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xf
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0x7f
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x10
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfffeffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xa
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xfb
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xd
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xdf
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0xc
mov edx, dword [ecx + 0x1c]
add esp, 4
and dh, 0xef
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x15
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffdfffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x16
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xffbfffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x1c
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xefffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x1d
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xdfffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x1e
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xbfffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x17
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xff7fffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 0x18
mov edx, dword [ecx + 0x1c]
add esp, 4
and edx, 0xfeffffff
or eax, edx
mov dword [ecx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x84], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
xor esi, esi
test eax, eax
jne 0x40c2f2
lea edx, [esp + 0x48]
push edx
push ebp
call fcn.00406de0
add esp, 8
test eax, eax
je case.0x409c2b.25
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
cmp eax, edx
jle 0x40a7aa
mov ecx, edx
mov edx, eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
test eax, eax
je 0x40c3bb
mov cl, byte [0x51da00]
test cl, cl
je 0x40a7d9
cmp edx, dword [0x5100c8]
jbe 0x40a7d9
push str.Range_exceeds_channel_number
call fcn.004036b0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
add esp, 4
cmp eax, edx
jg 0x40a7ee
lea ecx, [eax - 1]
mov edi, 1
shl edi, cl
or esi, edi
inc eax
cmp eax, edx
jle 0x40a7dd
mov eax, dword [esp + 0x18]
mov dword [eax + 0xe8], esi
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403700
add esp, 4
test eax, eax
jl 0x40c3c8
cmp eax, 0xff
jg 0x40c3c8
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xec], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov edx, dword [esp + 0x18]
add edx, 0x88
push edx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov eax, dword [esp + 0x18]
add eax, 0xe0
push eax
push ebp
call fcn.00406f60
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov ecx, dword [esp + 0x18]
add ecx, 0xe4
push ecx
push ebp
call fcn.00406f60
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
mov dword [ecx + 0xdc], eax
mov dword [ecx + 0xd8], eax
mov dword [ecx + 0xd4], eax
mov dword [ecx + 0xd0], eax
je 0x40c3d5
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov eax, dword [esp + 0x28]
push ebp
push eax
call fcn.004058c0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
mov dword [ecx + 0xd0], eax
je 0x40c3e2
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
mov dword [ecx + 0xd4], eax
je 0x40c3ef
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
mov dword [ecx + 0xd8], eax
je 0x40c3fc
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
mov dword [ecx + 0xdc], eax
je 0x40c409
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403700
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [edx + 0x28], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x54], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov edx, dword [esp + 0x18]
add edx, 0x60
push edx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
mov eax, dword [esp + 0x18]
add eax, 0x64
push eax
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov ecx, dword [esp + 0x18]
add ecx, 0x58
push ecx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
mov edx, dword [esp + 0x18]
add edx, 0x5c
push edx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x78], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
mov edx, dword [esp + 0x18]
add edx, 0x74
push edx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x7c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2cb
push ebp
call fcn.00403700
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [edx + 0x80], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0
jne case.0x409c2b.25
mov ecx, eax
mov dword [ecx], 1
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0
jne case.0x409c2b.25
mov eax, edx
mov dword [eax], 2
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0
jne case.0x409c2b.25
mov edx, ecx
mov dword [edx], 3
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0
jne case.0x409c2b.25
mov ecx, eax
mov dword [ecx], 4
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0
jne case.0x409c2b.25
mov eax, edx
mov dword [eax], 5
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0
jne case.0x409c2b.25
mov edx, ecx
mov dword [edx], 6
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0
jne case.0x409c2b.25
mov ecx, eax
mov dword [ecx], 7
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0
jne case.0x409c2b.25
mov eax, edx
mov dword [eax], 0xa
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
je 0x40ac1e
cmp eax, 9
jne case.0x409c2b.25
test eax, eax
jne 0x40ac29
mov dword [ecx], 0xc
jmp case.0x40b07a.6
cmp ecx, ebx
jne 0x40c41d
mov ecx, dword [esp + 0x28]
push ebp
push ecx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c413
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0
jne case.0x409c2b.25
mov eax, edx
mov dword [eax], 0xd
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0
jne case.0x409c2b.25
mov edx, ecx
mov dword [edx], 0xe
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0
jne case.0x409c2b.25
cmp eax, ebx
jne 0x40acbb
mov dword [eax], 0xf
jmp case.0x40b07a.6
cmp eax, dword [esp + 0x24]
jne 0x40c427
mov dword [eax], 0x10
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0
jne case.0x409c2b.25
mov edx, ecx
mov dword [edx], 0x11
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0
jne case.0x409c2b.25
mov ecx, eax
mov dword [ecx], 0x12
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0
jne case.0x409c2b.25
mov eax, edx
mov dword [eax], 0x15
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
add esp, 4
mov edx, ecx
xor edx, eax
and edx, 1
xor edx, ecx
mov dword [ebx + 0x10], edx
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 2
and ecx, 0xfffffffb
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 3
and ecx, 0xfffffff7
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x28], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x30], eax
test eax, eax
je case.0x40b07a.6
mov eax, dword [esp + 0x18]
test eax, eax
je case.0x40b07a.6
or dword [eax + 0x1c], 0x10
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x34], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x13
jne case.0x409c2b.25
lea eax, [ebx + 0x78]
push eax
push ebp
call fcn.00406de0
jmp 0x40a1b9
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x13
jne case.0x409c2b.25
lea edx, [ebx + 0x38]
jmp 0x409e36
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.004197a0
add esp, 4
mov dword [ebx + 0x80], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x14], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x18], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x13
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x1c], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x13
jne case.0x409c2b.25
mov ecx, dword [esp + 0x28]
push ebp
push ecx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x24], eax
test eax, eax
je 0x40c431
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jne case.0x409c2b.25
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c43b
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jmp 0x40aee7
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jmp 0x40af5d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jmp 0x40af35
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jmp 0x40af0d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x28]
add esp, 4
mov edx, ecx
xor edx, eax
and edx, 1
xor edx, ecx
mov dword [ebx + 0x28], edx
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 2
je 0x40b066
cmp eax, 3
je 0x40b066
cmp eax, 0xd
je 0x40b066
cmp eax, 4
jne case.0x409c2b.25
add eax, 0xfffffffe
cmp eax, 0xb
ja case.0x40b07a.6
xor ecx, ecx
mov cl, byte [eax + 0x40c9e8]
jmp dword [ecx*4 + 0x40c9d4]
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x28]
and eax, 1
shl eax, 1
and edx, 0xfffffffd
add esp, 4
or eax, edx
mov dword [ebx + 0x28], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
add esp, 4
xor eax, ecx
and eax, 1
xor eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 2
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x28]
and eax, 1
shl eax, 2
and ecx, 0xfffffffb
add esp, 4
or eax, ecx
mov dword [ebx + 0x28], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 3
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 1
and edx, 0xfffffffd
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 3
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 2
and ecx, 0xfffffffb
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x28]
add esp, 4
test ecx, ecx
mov esi, eax
je 0x40b169
cmp dword [ecx], 0x11
jne 0x40b169
mov dword [ecx + 0x14], esi
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov ecx, dword [ebx]
cmp ecx, 3
je 0x40b18b
cmp ecx, 4
je 0x40b18b
cmp ecx, 0x14
je 0x40b18b
cmp ecx, 9
jne case.0x409c2b.25
add ecx, 0xfffffffd
cmp ecx, 0x11
ja case.0x40b19b.6
xor edx, edx
mov dl, byte [ecx + 0x40ca04]
jmp dword [edx*4 + 0x40c9f4]
mov dword [ebx + 0x14], esi
jmp case.0x40b07a.6
mov dword [ebx + 0x10], esi
jmp case.0x40b07a.6
mov dword [ebx + 0x1c], esi
jmp case.0x40b07a.6
push str.Unexpected_type.
call fcn.004036b0
add esp, 4
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 3
jmp 0x40adb3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 3
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 4
and edx, 0xffffffef
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 3
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x2c], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xe
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xe
jmp 0x40af0d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xe
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x20]
add esp, 4
xor eax, ecx
and eax, 1
xor eax, ecx
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xe
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x20]
and eax, 1
shl eax, 1
and ecx, 0xfffffffd
add esp, 4
or eax, ecx
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0x15
jne case.0x409c2b.25
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c445
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0x15
jne case.0x409c2b.25
lea eax, [ebx + 0x14]
push eax
push ebp
call fcn.00406ce0
jmp 0x40a1b9
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 4
je 0x40af63
cmp eax, 3
je 0x40b32b
cmp eax, 5
jne case.0x409c2b.25
cmp eax, 4
je 0x40af63
cmp eax, 3
jne 0x40b23f
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 5
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x14]
add esp, 4
xor eax, ecx
and eax, 1
xor eax, ecx
mov dword [ebx + 0x14], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 5
jne case.0x409c2b.25
lea edx, [ebx + 0x20]
jmp 0x409e36
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 5
jmp 0x40af0d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 5
jmp 0x40af5d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 4
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 1
and ecx, 0xfffffffd
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 4
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 2
and edx, 0xfffffffb
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 4
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 5
and ecx, 0xffffffdf
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 4
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 3
and edx, 0xfffffff7
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 4
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 4
and ecx, 0xffffffef
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 4
je 0x40b4bf
cmp eax, 3
jne case.0x409c2b.25
cmp eax, 4
jne 0x40b4de
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 6
and edx, 0xffffffbf
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 6
and ecx, 0xffffffbf
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 4
je 0x40b51a
cmp eax, 3
jne case.0x409c2b.25
cmp eax, 4
jne 0x40b539
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 7
and dl, 0x7f
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 7
and cl, 0x7f
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 4
je 0x40b575
cmp eax, 3
jne case.0x409c2b.25
cmp eax, 4
jne 0x40b594
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 8
and dh, 0xfe
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
and eax, 1
shl eax, 8
and ch, 0xfe
add esp, 4
or eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 8
jne case.0x409c2b.25
lea edx, [ebx + 0x10]
jmp 0x40a1b2
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 8
jne case.0x409c2b.25
lea eax, [ebx + 0x18]
push eax
jmp 0x40a1b3
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 8
je 0x40af3b
cmp eax, 0x14
jne case.0x409c2b.25
cmp eax, 8
jne 0x40aeed
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 6
je 0x40b639
cmp eax, 7
jne case.0x409c2b.25
cmp eax, 6
jne 0x40b641
mov ecx, dword [esp + 0x28]
push ebp
push ecx
jmp 0x40b647
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c44f
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 6
je 0x40b677
cmp eax, 7
jne case.0x409c2b.25
push ebp
call fcn.00403700
cdq
mov ecx, 0x169
add esp, 4
idiv ecx
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebx + 0x18], edx
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 6
je 0x40af63
cmp eax, 7
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x1c], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 6
je 0x40af3b
cmp eax, 7
je 0x40b6f3
cmp eax, 0xe
jne case.0x409c2b.25
cmp eax, 6
je 0x40af3b
cmp eax, 7
jne 0x40af63
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 6
je 0x40adef
cmp eax, 7
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x28], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jmp 0x40af0d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jmp 0x40af35
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x30]
and eax, 1
shl eax, 1
and ecx, 0xfffffffd
add esp, 4
or eax, ecx
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x30]
and eax, 1
shl eax, 2
and edx, 0xfffffffb
add esp, 4
or eax, edx
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x30]
and eax, 1
shl eax, 5
and ecx, 0xffffffdf
add esp, 4
or eax, ecx
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jmp 0x40b217
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jmp 0x40ade9
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
cmp dword [esp + 0x10], ebx
jne 0x40c41d
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x14], eax
test eax, eax
je 0x40c459
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x30]
add esp, 4
mov edx, ecx
xor edx, eax
and edx, 1
xor edx, ecx
mov dword [ebx + 0x30], edx
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x30]
and eax, 1
shl eax, 3
and ecx, 0xfffffff7
add esp, 4
or eax, ecx
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x30]
and eax, 1
shl eax, 4
and edx, 0xffffffef
add esp, 4
or eax, edx
mov dword [ebx + 0x30], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
mov eax, dword [esp + 0x75c]
push eax
push ebp
call fcn.0040ca30
add esp, 8
mov dword [ebx + 0x34], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
mov ecx, dword [esp + 0x75c]
push ecx
push ebp
call fcn.0040ca30
add esp, 8
mov dword [ebx + 0x38], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
mov edx, dword [esp + 0x75c]
push edx
push ebp
call fcn.0040ca30
add esp, 8
mov dword [ebx + 0x3c], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
mov eax, dword [esp + 0x75c]
push eax
push ebp
call fcn.0040ca30
add esp, 8
mov dword [ebx + 0x40], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x24], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 0xb
je 0x40b9c0
cmp eax, 0x12
jne case.0x409c2b.25
cmp eax, 0xb
jne 0x40b9cf
lea ecx, [ebx + 0x14]
push ecx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
lea edx, [ebx + 0x18]
push edx
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je case.0x409c2b.25
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 0xb
je 0x40af13
cmp eax, 0x12
jne case.0x409c2b.25
cmp eax, 0xb
jne 0x40af63
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x18], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jmp 0x40af5d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jmp 0x40af35
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x24]
and eax, 1
shl eax, 2
and ecx, 0xfffffffb
add esp, 4
or eax, ecx
mov dword [ebx + 0x24], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x24]
add esp, 4
mov edx, ecx
xor edx, eax
and edx, 1
xor edx, ecx
mov dword [ebx + 0x24], edx
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [ebx + 0x24]
and eax, 1
shl eax, 1
and ecx, 0xfffffffd
add esp, 4
or eax, ecx
mov dword [ebx + 0x24], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov edx, dword [ebx + 0x24]
and eax, 1
shl eax, 3
and edx, 0xfffffff7
add esp, 4
or eax, edx
mov dword [ebx + 0x24], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
lea eax, [esp + 0x50]
push eax
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je case.0x409c2b.25
fld dword [esp + 0x50]
fcomp dword [0x5014f8]
fnstsw ax
test ah, 0x41
jne 0x40bb41
push str.Weapon_initial_slope_must_be___0
call fcn.004036e0
add esp, 4
fld dword [esp + 0x50]
fmul dword [0x501520]
fmul dword [0x50151c]
fstp dword [ebx + 0x44]
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 9
jne case.0x409c2b.25
lea ecx, [esp + 0x54]
push ecx
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je case.0x409c2b.25
fld dword [esp + 0x54]
fcomp dword [0x5014f8]
fnstsw ax
test ah, 1
je 0x40bb9e
push str.Weapon_slope_step_must_be___0
call fcn.004036e0
add esp, 4
fld dword [esp + 0x54]
fmul dword [0x501520]
fmul dword [0x50151c]
fstp dword [ebx + 0x48]
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xb
jne case.0x409c2b.25
mov edx, dword [esp + 0x28]
push ebp
push edx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c463
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xd
jne case.0x409c2b.25
mov al, byte [ebp]
mov esi, ebp
test al, al
je 0x40bc13
cmp al, 0x3d
je 0x40bc13
cmp al, 9
je 0x40bc13
cmp al, 0x20
je 0x40bc13
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40bbff
cmp byte [esi], 0
je case.0x409c2b.25
push ebp
mov byte [esi], 0
call fcn.00403700
mov dword [esp + 0x34], eax
add esp, 4
fild dword [esp + 0x30]
inc esi
fstp dword [ebx + 0x10]
mov al, byte [esi]
test al, al
je 0x40bc4a
cmp al, 9
je 0x40bc42
cmp al, 0x20
jne 0x40bc4a
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40bc3a
push esi
call fcn.00403700
mov dword [esp + 0x34], eax
add esp, 4
fild dword [esp + 0x30]
fstp dword [ebx + 0x14]
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xd
jmp 0x40af0d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xd
jmp 0x40af5d
mov esi, dword [esp + 0x24]
test esi, esi
je 0x40bca1
cmp dword [esi], 0xc
jne 0x40bca1
push ebp
call fcn.00403700
add esp, 4
mov dword [esi + 0x14], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jmp 0x40aee7
test ebx, ebx
je case.0x409c2b.25
mov eax, dword [ebx]
cmp eax, 0xf
je case.0x40b07a.3
cmp eax, 0xe
jne case.0x409c2b.25
cmp eax, 0xf
jne 0x40bce9
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x10]
add esp, 4
xor eax, ecx
and eax, 1
xor eax, ecx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
push ebp
call fcn.00403710
mov ecx, dword [ebx + 0x20]
and eax, 1
shl eax, 2
and ecx, 0xfffffffb
add esp, 4
or eax, ecx
mov dword [ebx + 0x20], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov edx, dword [ebx + 0x10]
and eax, 1
shl eax, 1
and edx, 0xfffffffd
add esp, 4
or eax, edx
mov dword [ebx + 0x10], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jmp 0x40ad7d
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea edx, [ebx + 0x1c]
jmp 0x40b9d2
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea eax, [ebx + 0x18]
push eax
jmp 0x40b9d3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea ecx, [ebx + 0x20]
push ecx
jmp 0x40b9d3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea edx, [ebx + 0x24]
jmp 0x40b9d2
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea eax, [ebx + 0x28]
push eax
jmp 0x40b9d3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea ecx, [ebx + 0x2c]
push ecx
jmp 0x40b9d3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
push ebp
call fcn.00407050
add esp, 4
mov dword [ebx + 0x30], eax
jmp 0x40b9dc
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jmp 0x40ae4f
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
push ebp
call fcn.00403700
add esp, 4
mov dword [ebx + 0x38], eax
jmp case.0x40b07a.6
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea edx, [ebx + 0x3c]
jmp 0x40b9d2
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0xf
jne case.0x409c2b.25
lea eax, [ebx + 0x40]
push eax
jmp 0x40b9d3
test ebx, ebx
je case.0x409c2b.25
cmp dword [ebx], 0x12
jne case.0x409c2b.25
mov ecx, dword [esp + 0x28]
push ebp
push ecx
call fcn.004058c0
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x40c46d
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x11
jne case.0x409c2b.25
mov eax, edx
add eax, 0x1c
push eax
jmp 0x40a1b3
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x11
jne case.0x409c2b.25
push ebp
call fcn.00406be0
mov edx, dword [esp + 0x28]
add esp, 4
cmp eax, 0x18
mov dword [edx + 0x24], eax
jmp 0x40a1be
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x11
jne case.0x409c2b.25
mov ecx, eax
add ecx, 0x28
push ecx
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x11
jne case.0x409c2b.25
mov eax, edx
add eax, 0x2c
push eax
push ebp
call fcn.00406ce0
jmp 0x40a1b9
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x11
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x28]
and eax, 1
shl eax, 1
mov edx, dword [ecx + 0x34]
add esp, 4
and edx, 0xfffffffd
or eax, edx
mov dword [ecx + 0x34], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x11
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x28]
and eax, 1
shl eax, 2
mov edx, dword [ecx + 0x34]
add esp, 4
and edx, 0xfffffffb
or eax, edx
mov dword [ecx + 0x34], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
cmp dword [eax], 0x11
jne case.0x409c2b.25
push ebp
call fcn.00403700
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx + 0x18], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov edx, eax
cmp dword [edx], 0x11
jne case.0x409c2b.25
mov eax, edx
lea esi, [eax + 0x30]
push esi
push ebp
call fcn.00406ce0
add esp, 8
test eax, eax
je case.0x409c2b.25
fld dword [esi]
fcomp dword [0x5014f8]
fnstsw ax
test ah, 1
je case.0x40b07a.6
fld dword [esi]
fchs
fstp dword [esi]
jmp case.0x40b07a.6
mov eax, dword [esp + 0x24]
test eax, eax
je case.0x409c2b.25
mov ecx, eax
cmp dword [ecx], 0x11
jne case.0x409c2b.25
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x28]
and eax, 1
shl eax, 3
mov edx, dword [ecx + 0x34]
add esp, 4
and edx, 0xfffffff7
or eax, edx
mov dword [ecx + 0x34], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c36d
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 5
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xffffffdf
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40c2f2
push ebp
call fcn.00403710
mov ecx, dword [esp + 0x1c]
and eax, 1
shl eax, 6
mov edx, dword [ecx + 0x20]
add esp, 4
and edx, 0xffffffbf
or eax, edx
mov dword [ecx + 0x20], eax
jmp case.0x40b07a.6
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x260]
cmp ecx, eax
jne 0x40c0d4
cmp dword [esp + 0x3c], ebp
je 0x40c0e4
mov dword [esp + 0x44], 1
jmp 0x40c0e4
cmp dword [esp + 0x44], ebp
jne 0x40c0e4
cmp dword [esp + 0x3c], ebp
je 0x40c241
mov eax, dword [ecx + 0x1c]
test ah, 1
je 0x40938c
and ah, 0xfe
push ecx
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x760]
mov ecx, dword [eax + 0x364]
mov edx, dword [eax + 0x344]
push ecx
push edx
call fcn.00409160
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
jne 0x40c26c
jmp 0x40938c
call fcn.004031b0
push eax
call fcn.004031c0
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.00406ce0
add esp, 0xc
test eax, eax
je case.0x409c2b.25
jmp 0x40938c
sub eax, 0x104
je 0x40c16f
dec eax
jne case.default.0x40c1a3
call fcn.004031b0
push eax
call fcn.004031c0
mov ecx, dword [esp + 0x20]
add eax, 8
push eax
push ecx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
mov edx, dword [esp + 0x20]
add eax, 4
push eax
push edx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
add eax, 0xc
jmp 0x40c130
add eax, 0xfffffef9
cmp eax, 5
ja case.default.0x40c1a3
jmp dword [eax*4 + 0x40ca18]
call fcn.004031b0
push eax
call fcn.004031c0
mov ecx, dword [esp + 0x20]
add eax, 0x10
push eax
push ecx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
mov edx, dword [esp + 0x20]
add eax, 0x14
push eax
push edx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
add eax, 0x18
jmp 0x40c130
call fcn.004031b0
push eax
call fcn.004031c0
mov ecx, dword [esp + 0x20]
add eax, 0x1c
push eax
push ecx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
mov edx, dword [esp + 0x20]
add eax, 0x20
push eax
push edx
jmp 0x40c136
call fcn.004031b0
push eax
call fcn.004031c0
add eax, 0x24
jmp 0x40c130
mov dword [esp + 0x14], str.Invalid_level_value
jmp 0x40c48f
mov ecx, dword [ecx + 4]
lea edx, [esp + 0x354]
push ecx
push str.No_behaviour_defined_for_anim__s
push edx
call fcn.0044cb10
lea eax, [esp + 0x360]
push eax
call fcn.004036b0
add esp, 0x10
jmp 0x40c48f
mov dword [esp + 0x14], str.Cannot_preload_obj_class.
jmp 0x40c48f
mov dword [esp + 0x14], str.Invalid_derivation
jmp 0x40c48f
mov dword [esp + 0x14], str.Cannot_override_if_no_derivation
jmp 0x40c48f
mov dword [esp + 0x14], str.Cannot_create_object.
jmp 0x40c48f
mov eax, dword [0x51a938]
cmp eax, ebp
mov dword [esp + 0x34], eax
jne 0x40c48f
mov dword [esp + 0x34], 2
jmp 0x40c48f
mov dword [esp + 0x14], str.Already_in_ADD_TYPE_construct
jmp 0x40c48f
lea ecx, [esp + 0x60]
mov dword [esp + 0x14], ecx
jmp 0x40c48f
mov dword [esp + 0x14], str.Nested_variable_definition
jmp 0x40c48f
mov dword [esp + 0x14], str.Missing__
jmp 0x40c48f
lea eax, [esp + 0x60]
mov dword [esp + 0x14], eax
jmp 0x40c48f
mov dword [esp + 0x14], str.Expecting__keyword____value__form
jmp 0x40c48f
mov dword [esp + 0x14], str.Bad_use_of_INITIAL_keyword
jmp 0x40c48f
mov dword [esp + 0x14], str.Bad_use_of_MIN_keyword
jmp 0x40c48f
mov dword [esp + 0x14], str.Bad_use_of_MAX_keyword
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_name
jmp 0x40c48f
mov dword [esp + 0x14], str.Cannot_add_this_object__yet
jmp 0x40c48f
mov dword [esp + 0x14], str.Cannot_set_NAME_in_TYPE_form
jmp 0x40c48f
push ebp
lea ecx, [esp + 0x64]
push str.Name___s__already_used
push ecx
call fcn.0044cb10
add esp, 0xc
lea edx, [esp + 0x60]
mov dword [esp + 0x14], edx
jmp 0x40c48f
mov dword [esp + 0x14], str.GAF_NAME_defined_twice
jmp 0x40c48f
mov dword [esp + 0x14], str.GAF_INDEX_defined_twice
jmp 0x40c48f
mov dword [esp + 0x14], str.SHADOW_GAF_defined_twice
jmp 0x40c48f
mov dword [esp + 0x14], str.SHADOW_INDEX_defined_twice
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_sub_type
jmp 0x40c48f
mov dword [esp + 0x14], str.Invalid__zero__channel_index
jmp 0x40c48f
mov dword [esp + 0x14], str.Out_of_range__0_255__priority
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_bounce_fx
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_bounce_fx_up_left
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_bounce_fx_up_right
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_bounce_fx_down_left
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_bounce_fx_down_right
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_ammo
jmp 0x40c48f
mov dword [esp + 0x14], str.Bad_use_of_AMMO
jmp 0x40c48f
mov dword [esp + 0x14], str.Bad_use_of_FX
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_ammo_type
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_product
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_class_name
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_target
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_smoke_fx
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_hit_fx_class
jmp 0x40c48f
mov dword [esp + 0x14], str.Unknown_boom_fx
jmp 0x40c48f
mov dword [esp + 0x14], str.Syntax_error
jmp 0x40c48f
mov dword [esp + 0x14], str.Expecting_OBJECT_CLASS__DEFAULT_PROPERTY_nor_difficulty_specs.
jmp 0x40c48f
mov dword [esp + 0x34], ebp
mov ecx, dword [esp + 0x14]
xor ebp, ebp
cmp ecx, ebp
pop ebx
je 0x40c4f4
mov dl, byte [esp + 0x350]
lea eax, [esp + 0x350]
test dl, dl
je 0x40c4bc
cmp byte [eax], 9
jne 0x40c4b4
mov byte [eax], 0x20
mov dl, byte [eax + 1]
inc eax
test dl, dl
jne 0x40c4ac
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x350]
push edx
push ecx
mov ecx, dword [esp + 0x75c]
push eax
push ecx
lea edx, [esp + 0x560]
push str._s:_d:_n__s_near___s_.
push edx
call fcn.0044cb10
lea eax, [esp + 0x568]
push eax
call fcn.004036e0
add esp, 0x1c
mov esi, dword [esp + 0x30]
cmp esi, ebp
jne 0x40c50f
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x35c], ecx
jmp 0x40c534
mov eax, dword [esp + 0x758]
mov edi, dword [esp + 0x24]
cmp edi, ebp
mov dword [eax + 0x35c], ebp
je 0x40c534
push ebp
push edi
call fcn.00408970
push edi
call fcn.00405680
add esp, 0xc
lea ecx, [esp + 0x3c]
push ecx
call fcn.004423a0
add esp, 4
mov eax, dword [esp + 0x2fc]
cmp eax, ebp
je 0x40c555
push eax
call fcn.00412860
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
add esp, 0x744
ret