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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x68c4df
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov ecx, dword [esi + 0x48]
cmp ecx, ebp
je 0x639a50
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebp
call fcn.004ac940
cmp eax, 1
je 0x6389c4
cmp eax, 2
je 0x6389c4
mov eax, dword [esi + 0x144]
cmp dword [eax + 0x64], ebp
jne 0x6389c4
mov eax, dword [0x705f7c]
cmp eax, ebp
jne 0x63894e
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x6f91f4
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], ebp
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x6f91e0
jmp 0x6389ac
cmp eax, 1
jne 0x63897e
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Define_as_reference_grading_rule
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], 1
mov ecx, esp
mov dword [esp + 0x34], esp
push str.Is_not_Translation_Grading_rule
jmp 0x6389ac
cmp eax, 2
jne 0x6389c4
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x6f9178
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], 2
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x6f9164
call fcn.0065e7aa
mov dword [esp + 0x284], 0xffffffff
call fcn.00463a90
add esp, 0xc
mov edi, dword [esi + 0x124]
cmp edi, ebp
mov dword [esp + 0x30], edi
jle 0x638a94
mov ecx, dword [esi + 0x120]
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x11c]
mov ecx, dword [ecx + ebp*4]
push eax
call fcn.004bbd20
mov ebx, eax
test ebx, ebx
je 0x638a8b
mov edx, dword [esi + 0x120]
push 0
mov ecx, dword [edx + ebp*4]
mov eax, dword [ecx]
call dword [eax + 0x90]
mov edi, eax
push 6
mov ecx, edi
call fcn.004ac8f0
push 1
push 2
mov ecx, edi
call fcn.00537260
push 1
push 6
mov ecx, edi
call fcn.00537260
push ebx
mov ecx, edi
call fcn.004ac930
push edi
mov ecx, ebx
call fcn.0048ee90
mov ecx, ebx
call fcn.0048fc00
test eax, eax
je 0x638a53
push edi
mov ecx, eax
call fcn.004d90d0
mov ecx, dword [esi + 0x34]
push edi
mov ecx, dword [ecx + 0x29c]
call fcn.0049d780
mov eax, dword [esi + 0x124]
lea ebx, [esi + 0x11c]
mov dword [esp + 0x2c], eax
inc eax
push 0xffffffffffffffff
push eax
mov ecx, ebx
call fcn.0048b670
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x2c]
mov dword [edx + eax*4], edi
mov edi, dword [esp + 0x30]
inc ebp
cmp ebp, edi
jl 0x6389d6
mov edi, dword [esi + 0x124]
test edi, edi
mov dword [esp + 0x30], edi
je 0x639994
lea ecx, [esp + 0x14]
call fcn.0065e79e
lea ecx, [esp + 0x88]
mov dword [esp + 0x278], 3
call fcn.0065e79e
lea ecx, [esp + 0x80]
mov byte [esp + 0x278], 4
call fcn.0065e79e
lea ecx, [esp + 0x78]
mov byte [esp + 0x278], 5
call fcn.0065e79e
lea ecx, [esp + 0x70]
mov byte [esp + 0x278], 6
call fcn.0065e79e
lea ecx, [esp + 0x68]
mov byte [esp + 0x278], 7
call fcn.0065e79e
lea ecx, [esp + 0xa4]
mov byte [esp + 0x278], 8
call fcn.0065e79e
lea ecx, [esp + 0x18]
mov byte [esp + 0x278], 9
call fcn.0065e79e
lea ecx, [esp + 0x1c]
mov byte [esp + 0x278], 0xa
call fcn.0065e79e
xor ebp, ebp
mov byte [esp + 0x278], 0xb
test edi, edi
jle 0x6398bd
mov ecx, dword [esi + 0x120]
lea edi, [ebp*4]
mov edx, dword [ecx + edi]
mov ecx, esi
push edx
call fcn.00637f30
test eax, eax
mov dword [esi + 0x48], eax
je case.0x638d7e.7
mov ecx, eax
call fcn.004b8020
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x120]
cmp dword [ecx + edi], eax
je case.0x638d7e.7
lea edx, [esp + 0x2c]
mov ecx, eax
push edx
call fcn.004acec0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x27c], 0xc
call fcn.0065e80a
lea ecx, [esp + 0x2c]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
call fcn.00637e70
add esp, 4
test eax, eax
je 0x638c3e
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x18]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0065e816
mov ecx, 0x6fdac0
call fcn.0064b1b0
test eax, eax
je 0x638c3e
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x7c]
push eax
push ecx
mov ecx, 0x6fdac0
call fcn.0064ada0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x27c], 0xd
call fcn.0065e80a
lea ecx, [esp + 0x7c]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x28]
push edx
call fcn.004acf40
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x27c], 0xe
call fcn.0065e80a
lea ecx, [esp + 0x28]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
call fcn.00637e70
add esp, 4
test eax, eax
je 0x638cec
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x1c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0065e816
mov ecx, 0x6fdac0
call fcn.0064b1b0
test eax, eax
je 0x638cec
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x20]
push eax
push ecx
mov ecx, 0x6fdac0
call fcn.0064ada0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x27c], 0xf
call fcn.0065e80a
lea ecx, [esp + 0x20]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0xb0]
push edx
call fcn.004acfc0
push eax
lea ecx, [esp + 0x50]
call fcn.006578b0
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0xc8]
push eax
call fcn.004acfe0
push eax
lea ecx, [esp + 0x38]
call fcn.006578b0
mov ecx, dword [esi + 0x48]
push 0
call fcn.00537250
mov ecx, dword [esi + 0x48]
mov ebx, eax
call fcn.004ac940
cmp eax, 2
je 0x638d42
cmp eax, 1
jne 0x639745
mov ecx, dword [esi + 0x144]
mov edx, dword [ecx + 0x64]
test edx, edx
jne 0x639745
cmp eax, 2
jne 0x6396dd
mov edx, dword [esi + 0x120]
lea eax, [edx + edi]
mov edx, dword [edx + edi]
cmp edx, dword [esi + 0x48]
je case.0x638d7e.7
mov ecx, dword [ecx + 0x60]
dec ecx
cmp ecx, 8
ja case.0x638d7e.7
jmp dword [ecx*4 + 0x639a68]
mov ecx, dword [eax]
push 0
call fcn.004bb730
mov eax, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [eax + edi]
call fcn.00537260
mov ecx, dword [esi + 0x120]
push 2
mov ecx, dword [ecx + edi]
call fcn.004ace60
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
jmp 0x639595
mov ecx, dword [eax]
push 0
call fcn.004bb730
mov edx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [edx + edi]
call fcn.00537260
mov eax, dword [esi + 0x120]
push 2
mov ecx, dword [eax + edi]
call fcn.004ace60
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 8]
test eax, eax
je 0x638efd
lea edx, [esp + 0x18]
lea eax, [esp + 0x98]
push edx
push 0x6f9160
push eax
call fcn.0065ebb2
push 0x6f915c
lea ecx, [esp + 0x94]
push eax
push ecx
mov byte [esp + 0x284], 0x12
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x13
call fcn.0065e80a
lea ecx, [esp + 0x90]
mov byte [esp + 0x278], 0x12
call fcn.0065e798
lea ecx, [esp + 0x98]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
jmp 0x638f06
lea ecx, [esp + 0x14]
call fcn.0065e7b0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
jmp 0x639595
mov ecx, dword [eax]
push 0
call fcn.004bb730
mov edx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [edx + edi]
call fcn.00537260
mov eax, dword [esi + 0x120]
push 2
mov ecx, dword [eax + edi]
call fcn.004ace60
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x639079
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x6c]
push ecx
push 0x6f9160
push edx
call fcn.0065ebb2
push 0x6f915c
push eax
lea eax, [esp + 0xa8]
mov byte [esp + 0x280], 0x17
push eax
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x18
call fcn.0065e80a
lea ecx, [esp + 0xa0]
mov byte [esp + 0x278], 0x17
call fcn.0065e798
lea ecx, [esp + 0x6c]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
jmp 0x639082
lea ecx, [esp + 0x14]
call fcn.0065e7b0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
mov eax, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [eax + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [eax]
push 0
call fcn.004bb730
mov ecx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [ecx + edi]
call fcn.00537260
mov edx, dword [esi + 0x120]
push 2
mov ecx, dword [edx + edi]
call fcn.004ace60
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x6391ae
lea ecx, [esp + 0x18]
lea edx, [esp + 0x74]
push ecx
push 0x6f9160
push edx
call fcn.0065ebb2
push 0x6f915c
push eax
lea eax, [esp + 0x9c]
mov byte [esp + 0x280], 0x1a
push eax
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x1b
call fcn.0065e80a
lea ecx, [esp + 0x94]
mov byte [esp + 0x278], 0x1a
call fcn.0065e798
lea ecx, [esp + 0x74]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
jmp 0x6391b7
lea ecx, [esp + 0x14]
call fcn.0065e7b0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x639256
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x64]
push ecx
push 0x6f9160
push edx
call fcn.0065ebb2
push 0x6f915c
push eax
lea eax, [esp + 0xb4]
mov byte [esp + 0x280], 0x1d
push eax
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x1e
call fcn.0065e80a
lea ecx, [esp + 0xac]
mov byte [esp + 0x278], 0x1d
call fcn.0065e798
lea ecx, [esp + 0x64]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
jmp 0x63925f
lea ecx, [esp + 0x14]
call fcn.0065e7b0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
mov eax, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [eax + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [eax]
push 0
call fcn.00537250
cmp eax, ebx
je 0x639319
mov ecx, dword [esi + 0x120]
mov ecx, dword [ecx + edi]
call fcn.004ac940
test eax, eax
je 0x639319
mov dword [esp + 0x24], 1
jmp case.0x638d7e.7
mov edx, dword [esi + 0x120]
push 0
mov ecx, dword [edx + edi]
call fcn.004bb9c0
mov eax, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [eax + edi]
call fcn.00537260
mov ecx, dword [esi + 0x120]
push 2
mov ecx, dword [ecx + edi]
call fcn.004ace60
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
sub esp, 0x18
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
mov ecx, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [ecx + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [eax]
push 0
call fcn.00537250
cmp eax, ebx
je 0x6393df
mov edx, dword [esi + 0x120]
mov ecx, dword [edx + edi]
call fcn.004ac940
test eax, eax
je 0x6393df
mov dword [esp + 0x24], 1
jmp case.0x638d7e.7
mov eax, dword [esi + 0x120]
push 0
mov ecx, dword [eax + edi]
call fcn.004bb9c0
mov ecx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [ecx + edi]
call fcn.00537260
mov edx, dword [esi + 0x120]
push 2
mov ecx, dword [edx + edi]
call fcn.004ace60
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
mov eax, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [eax + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [eax]
push 0
call fcn.00537250
cmp eax, ebx
je 0x6394a5
mov ecx, dword [esi + 0x120]
mov ecx, dword [ecx + edi]
call fcn.004ac940
test eax, eax
je 0x6394a5
mov dword [esp + 0x24], 1
jmp case.0x638d7e.7
mov edx, dword [esi + 0x120]
push 0
mov ecx, dword [edx + edi]
call fcn.004bb9c0
mov eax, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [eax + edi]
call fcn.00537260
mov ecx, dword [esi + 0x120]
push 2
mov ecx, dword [ecx + edi]
call fcn.004ace60
lea edx, [esp + 0x18]
lea eax, [esp + 0x84]
push edx
push 0x6f9160
push eax
call fcn.0065ebb2
push 0x6f915c
lea ecx, [esp + 0xa0]
push eax
push ecx
mov byte [esp + 0x284], 0x22
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x23
call fcn.0065e80a
lea ecx, [esp + 0x9c]
mov byte [esp + 0x278], 0x22
call fcn.0065e798
lea ecx, [esp + 0x84]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
sub esp, 0x18
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
mov ecx, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [ecx + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [eax]
push 0
call fcn.00537250
cmp eax, ebx
je 0x6395d7
mov edx, dword [esi + 0x120]
mov ecx, dword [edx + edi]
call fcn.004ac940
test eax, eax
je 0x6395d7
mov dword [esp + 0x24], 1
jmp case.0x638d7e.7
mov eax, dword [esi + 0x120]
push 0
mov ecx, dword [eax + edi]
call fcn.004bb9c0
mov ecx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [ecx + edi]
call fcn.00537260
mov edx, dword [esi + 0x120]
push 2
mov ecx, dword [edx + edi]
call fcn.004ace60
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x8c]
push eax
push 0x6f9160
push ecx
call fcn.0065ebb2
push 0x6f915c
lea edx, [esp + 0xac]
push eax
push edx
mov byte [esp + 0x284], 0x25
call fcn.0065ec7e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x27c], 0x26
call fcn.0065e80a
lea ecx, [esp + 0xa8]
mov byte [esp + 0x278], 0x25
call fcn.0065e798
lea ecx, [esp + 0x8c]
mov byte [esp + 0x278], 0xb
call fcn.0065e798
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0065e816
lea ecx, [esi + 0x11c]
push ebp
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
sub esp, 0x18
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00657880
push ebp
lea ecx, [esi + 0x11c]
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
mov eax, dword [esi + 0x120]
push ebx
push 0
mov ecx, dword [eax + edi]
call fcn.00537260
jmp case.0x638d7e.7
mov ecx, dword [esi + 0x120]
push 0
mov ecx, dword [ecx + edi]
call fcn.004bb730
mov edx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [edx + edi]
call fcn.00537260
mov eax, dword [esi + 0x120]
push 1
mov ecx, dword [eax + edi]
call fcn.004ace60
sub esp, 0x18
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
lea edi, [esi + 0x11c]
call fcn.00657880
push ebp
mov ecx, edi
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x639897
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + 0x60]
cmp eax, 5
je 0x639777
cmp eax, 6
je 0x639777
cmp eax, 8
je 0x639777
cmp eax, 9
je 0x639777
mov edx, dword [esi + 0x120]
push 0
mov ecx, dword [edx + edi]
call fcn.004bb730
jmp 0x6397fe
mov eax, dword [esi + 0x120]
push 0
mov ecx, dword [eax + edi]
call fcn.004bb9c0
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + 0x60]
cmp eax, 5
je 0x6397d2
cmp eax, 8
je 0x6397d2
cmp eax, 6
je 0x6397a4
cmp eax, 9
jne 0x6397fe
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x6fc144
call fcn.0065e7aa
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acf70
jmp 0x6397fe
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x6fc144
call fcn.0065e7aa
push ebp
lea ecx, [esi + 0x11c]
mov byte [esp + 0x280], 0xb
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004acef0
mov edx, dword [esi + 0x120]
push 1
push 6
mov ecx, dword [edx + edi]
call fcn.00537260
mov eax, dword [esi + 0x120]
push 0xa
mov ecx, dword [eax + edi]
call fcn.004ace60
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x120]
push ecx
mov ecx, dword [edx + edi]
call fcn.004b81c0
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + edi]
push ecx
mov ecx, dword [esi + 0x48]
call fcn.004b8220
mov edx, dword [esi + 0x144]
mov ebx, dword [esi + 0x120]
add ebx, edi
mov eax, dword [edx + 0x60]
push eax
call fcn.00637e00
mov ecx, dword [ebx]
add esp, 4
push eax
call fcn.004b8200
sub esp, 0x18
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
lea edi, [esi + 0x11c]
call fcn.00657880
push ebp
mov ecx, edi
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad000
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x28], esp
lea eax, [esp + 0x4c]
push eax
call fcn.00657880
push ebp
mov ecx, edi
call fcn.004ea1e0
mov ecx, dword [eax]
call fcn.004ad020
mov eax, dword [esp + 0x30]
inc ebp
cmp ebp, eax
jl 0x638b55
cmp dword [0x705f00], 1
jne 0x6398e2
mov eax, dword [esi + 0x34]
lea edx, [esi + 0x11c]
mov ecx, dword [eax + 0x29c]
push ecx
mov ecx, dword [eax + 0x298]
push edx
call fcn.004be8d0
mov esi, dword [esi + 0x34]
push 1
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x64]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x278], 0xa
call fcn.0065e798
lea ecx, [esp + 0x18]
mov byte [esp + 0x278], 9
call fcn.0065e798
lea ecx, [esp + 0xa4]
mov byte [esp + 0x278], 8
call fcn.0065e798
lea ecx, [esp + 0x68]
mov byte [esp + 0x278], 7
call fcn.0065e798
lea ecx, [esp + 0x70]
mov byte [esp + 0x278], 6
call fcn.0065e798
lea ecx, [esp + 0x78]
mov byte [esp + 0x278], 5
call fcn.0065e798
lea ecx, [esp + 0x80]
mov byte [esp + 0x278], 4
call fcn.0065e798
lea ecx, [esp + 0x88]
mov byte [esp + 0x278], 3
call fcn.0065e798
or esi, 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 0x278], esi
call fcn.0065e798
jmp 0x639997
or esi, 0xffffffff
call fcn.004c41f0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x639a50
mov eax, dword [0x705f7c]
test eax, eax
jne 0x6399dc
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x6f9144
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], 0x2a
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x6f9130
jmp 0x639a3c
cmp eax, 1
jne 0x639a0d
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x6fc144
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], 0x2b
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Detect_unmatched_unit
jmp 0x639a3c
cmp eax, 2
jne 0x639a50
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x6f9100
call fcn.0065e7aa
push ecx
mov dword [esp + 0x284], 0x2c
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x6f90ec
call fcn.0065e7aa
mov dword [esp + 0x284], esi
call fcn.00463a90
add esp, 0xc
mov ecx, dword [esp + 0x270]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret