Function at 0x580882
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe94
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
cmp eax, 0x202
jg 0x580938
je 0x580a9c
cmp eax, 0x102
jg 0x5808f8
je 0x5814c3
cmp eax, 0xa1
jg 0x5808df
je 0x5809e6
sub eax, 2
je 0x5809d9
sub eax, 0xd
je 0x58340c
sub eax, 0x38
je 0x580aef
jmp 0x583551
sub eax, 0xa4
je 0x5809e6
sub eax, 0x5c
je 0x581104
jmp 0x583551
cmp eax, 0x115
jg 0x580921
je 0x580b0e
sub eax, 0x104
je 0x580ea2
add eax, 0xfffffff1
sub eax, 2
jb 0x580ad0
jmp 0x583551
sub eax, 0x200
je 0x580bd2
dec eax
je 0x580a01
jmp 0x583551
cmp eax, 0x46b
jg 0x580988
je 0x580def
cmp eax, 0x465
jg 0x58096c
je 0x581821
add eax, 0xfffffdfd
sub eax, 2
jb 0x580a66
dec eax
je 0x580a66
jmp 0x583551
sub eax, 0x466
je 0x580e9b
add eax, 0xfffffffe
sub eax, 3
jb 0x580e9b
jmp 0x583551
add eax, 0xfffffb94
cmp eax, 0xe
ja 0x583551
jmp dword [eax*4 + 0x42a993]
xor edx, edx
mov dword [0x4cedbc], edx
jmp 0x583551
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0x471
mov eax, dword [0x4cd6a0]
push eax
call fcn.005731e6
jmp 0x583551
mov dx, word [ebp + 0x14]
mov eax, dword [ebp + 0x14]
and dx, 0xffff
movsx ecx, dx
shr eax, 0x10
mov dword [0x4d36b8], ecx
movsx edx, ax
xor ecx, ecx
mov dword [0x4d36bc], edx
mov dword [0x4d36c4], ecx
cmp dword [0x4cefe9], 1
jne 0x580a4a
mov eax, dword [0x4ceefc]
mov edx, dword [eax*4 + 0x4d4920]
add edx, 4
cmp edx, dword [0x4d36bc]
jg 0x580a5f
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605580
mov dword [0x4d36c0], 1
jmp 0x580a66
xor eax, eax
mov dword [0x4d36c0], eax
mov edx, dword [ebp + 8]
push edx
push 0
push 0x471
mov ecx, dword [0x4cd6a0]
push ecx
call fcn.005731e6
mov eax, dword [ebp + 0x14]
push eax
push edi
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583551
cmp dword [0x4d36c0], 0
je 0x580aaa
call fcn.0060555c
mov edx, dword [ebp + 0x14]
xor eax, eax
push edx
push edi
mov ecx, dword [ebp + 0xc]
mov dword [0x4d36c0], eax
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583551
mov edx, dword [ebp + 0x14]
push edx
push edi
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583551
mov edx, dword [ebp + 0x14]
push edx
push edi
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583563
cmp dword [0x4d36c0], 0
jne 0x583551
mov edx, edi
and dx, 0xffff
test dx, dx
jne 0x580b2f
dec dword [0x4d3014]
jmp 0x580b71
mov ecx, edi
and cx, 0xffff
cmp cx, 2
jne 0x580b45
sub dword [0x4d3014], 8
jmp 0x580b71
mov eax, edi
and ax, 0xffff
cmp ax, 1
jne 0x580b59
inc dword [0x4d3014]
jmp 0x580b71
mov edx, edi
and dx, 0xffff
cmp dx, 3
jne 0x583551
add dword [0x4d3014], 8
cmp dword [0x4d3014], 0
jge 0x580b84
xor ecx, ecx
mov dword [0x4d3014], ecx
jmp 0x580bc0
cmp dword [0x4d5798], 0
je 0x580b9d
cmp dword [0x4d3018], 0
jne 0x580b9d
mov ebx, 0x2a
jmp 0x580bb2
cmp dword [0x4b2e5c], 1
jne 0x580bad
mov ebx, 0x1e
jmp 0x580bb2
mov ebx, 0x1b
cmp ebx, dword [0x4d3014]
jge 0x580bc0
mov dword [0x4d3014], ebx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
jmp 0x583551
cmp dword [0x4d36c0], 0
je 0x580dd0
call fcn.0060541e
cmp eax, dword [ebp + 8]
jne 0x580dd0
mov dx, word [ebp + 0x14]
and dx, 0xffff
movsx ecx, dx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x14]
shr eax, 0x10
movsx edx, ax
mov dword [ebp - 0x14], edx
cmp dword [0x4d36c4], 0
jne 0x580c75
mov ecx, dword [ebp - 0x10]
sub ecx, dword [0x4d36b8]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x580c43
mov ecx, dword [ebp - 0x14]
sub ecx, dword [0x4d36bc]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jl 0x580c75
push 0x4b53f4
mov ecx, dword [0x4d3b78]
push ecx
call fcn.00605502
push eax
call fcn.00605592
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x4d36b8], eax
mov dword [0x4d36bc], edx
mov dword [0x4d36c4], 1
cmp dword [0x4d36c4], 0
je 0x583551
xor ecx, ecx
mov dword [0x4d3384], ecx
cmp dword [0x4d5798], 0
je 0x580ca3
cmp dword [0x4d3018], 0
jne 0x580ca3
mov ebx, 0x2a
jmp 0x580cb8
cmp dword [0x4b2e5c], 1
jne 0x580cb3
mov ebx, 0x1e
jmp 0x580cb8
mov ebx, 0x1b
mov eax, dword [0x4ceff5]
lea ecx, [ebp - 0x16c]
mov esi, dword [eax*4 + 0x4d48f4]
mov eax, dword [0x4ceff5]
mov edx, dword [eax*4 + 0x4d4920]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [0x4d36bc]
cdq
idiv dword [ebp - 0x18]
mov dword [ebp - 4], eax
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605436
cmp dword [0x4cefe9], 1
jne 0x580d12
mov edx, dword [0x4ceefc]
mov ecx, dword [edx*4 + 0x4d4920]
add ecx, 4
mov dword [ebp - 0x168], ecx
mov eax, dword [ebp - 4]
sub dword [0x4d3014], eax
cmp ebx, dword [0x4d3014]
jge 0x580d34
mov edx, dword [0x4d3014]
mov dword [0x4d3014], ebx
sub edx, ebx
add dword [ebp - 4], edx
cmp dword [0x4d3014], 0
jge 0x580d4d
mov ecx, dword [0x4d3014]
add dword [ebp - 4], ecx
xor eax, eax
mov dword [0x4d3014], eax
mov edx, dword [ebp - 4]
imul edx, dword [ebp - 0x18]
add dword [0x4d36bc], edx
mov ecx, dword [0x4cf001]
add ecx, dword [0x4d36b8]
cmp ecx, dword [ebp - 0x10]
jge 0x580d7b
mov eax, dword [0x4cf001]
add eax, dword [0x4d36b8]
mov dword [ebp - 0x10], eax
jmp 0x580da6
mov edx, dword [0x4cf001]
mov ecx, esi
shl ecx, 7
add edx, dword [0x4d36b8]
sub edx, ecx
cmp edx, dword [ebp - 0x10]
jle 0x580da6
mov eax, dword [0x4cf001]
add eax, dword [0x4d36b8]
shl esi, 7
sub eax, esi
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
sub edx, dword [0x4d36b8]
push 0
sub dword [0x4cf001], edx
push 0
mov eax, dword [ebp + 8]
mov dword [0x4d36b8], ecx
push eax
call fcn.006054d8
jmp 0x583551
mov edx, dword [ebp + 0x14]
push edx
push edi
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583551
and di, 0xffff
movzx edx, di
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp + 0x14]
add ecx, dword [0x4d3014]
cmp dword [0x4d5798], 0
mov dword [ebp - 0x14], ecx
je 0x580e18
cmp dword [0x4d3018], 0
je 0x580e1c
xor eax, eax
jmp 0x580e21
mov eax, 1
mov dword [ebp - 0x2c], eax
mov ebx, 0x4b2e60
jmp 0x580e7f
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x580e37
cmp dword [eax], 0
je 0x580e7c
cmp word [ebx + 2], 5
je 0x580e4a
movsx edx, word [ebx + 2]
cmp edx, dword [0x4b2e5c]
jne 0x580e7c
xor ecx, ecx
mov cl, byte [ebx + 4]
cmp ecx, dword [ebp - 0x10]
jg 0x580e7c
xor eax, eax
mov al, byte [ebx + 5]
cmp eax, dword [ebp - 0x10]
jle 0x580e7c
xor edx, edx
mov dl, byte [ebx + 6]
cmp edx, dword [ebp - 0x14]
jg 0x580e7c
xor ecx, ecx
mov cl, byte [ebx + 7]
cmp ecx, dword [ebp - 0x14]
jle 0x580e7c
movsx eax, word [ebx]
mov dword [0x4d3384], eax
jmp 0x580e91
add ebx, 0x18
cmp word [ebx], 0
je 0x580e91
cmp dword [ebp - 0x2c], 0
jne 0x580e2b
cmp byte [ebx + 6], 0x1e
jbe 0x580e2b
mov eax, 1
jmp 0x583563
xor eax, eax
jmp 0x583563
cmp dword [0x4d3018], 0
je 0x580eb2
xor eax, eax
jmp 0x583563
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x580ecd
xor eax, eax
jmp 0x583563
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x20]
push edx
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.005ae2fa
mov ecx, dword [ebp - 0x34]
add esp, 0x10
push edi
lea esi, [ecx + 0x2ec]
mov ecx, 0x65
mov edi, 0x4d3388
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x34]
pop edi
push edi
mov edi, 0x4d351e
lea esi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x4d3384]
pop edi
and eax, 0xf
mov esi, dword [0x4d3384]
mov dword [ebp - 0x1c], eax
and esi, 0x1f0
mov edx, dword [ebp - 0x1c]
add edx, dword [0x4d33bc]
and edx, 0x80000007
jns 0x580f44
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebp - 8], edx
mov ebx, 0x4b2e60
jmp 0x580f68
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x580f5a
cmp dword [eax], 0
je 0x580f65
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x580f6e
add ebx, 0x18
cmp word [ebx], 0
jne 0x580f4e
cmp edi, 8
jne 0x5810a0
cmp dword [0x4d338c], 0
je 0x5810a0
cmp dword [ebx + 8], 0
je 0x580fc5
cmp dword [ebx + 0xc], 0
je 0x580fc5
cmp dword [ebx + 0x10], 0
jne 0x580fa5
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0x581076
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
not edx
mov eax, dword [ecx]
mov ecx, dword [ebx + 0xc]
and eax, edx
mov edx, dword [ecx]
and edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
or eax, edx
mov dword [ecx], eax
jmp 0x581076
cmp esi, 0x60
jne 0x580fe1
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov al, byte [eax + 0x4d35a6]
mov byte [edx + 0x4d3410], al
jmp 0x581076
cmp esi, 0x70
jne 0x581010
push 0xa
mov ecx, dword [ebp - 8]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d3556
push ecx
mov eax, dword [ebp - 8]
add eax, eax
lea eax, [eax + eax*4]
add eax, 0x4d33c0
push eax
call fcn.005f953a
add esp, 0xc
jmp 0x581076
cmp esi, 0xe0
je 0x581020
cmp esi, 0xf0
jne 0x58104a
push 0xa
mov edx, dword [ebp - 0x1c]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d3556
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d33c0
push ecx
call fcn.005f953a
add esp, 0xc
jmp 0x581076
cmp esi, 0x100
jne 0x581076
push 0x10
mov eax, dword [ebp - 0x1c]
shl eax, 4
add eax, 0x4d3618
push eax
mov edx, dword [ebp - 0x1c]
shl edx, 4
add edx, 0x4d3482
push edx
call fcn.005f953a
add esp, 0xc
mov ecx, dword [ebp - 0x34]
mov esi, 0x4d3388
lea edi, [ecx + 0x2ec]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0
push 0x476
call fcn.005b047e
add esp, 0xc
jmp 0x5810fa
mov eax, dword [ebp + 0x14]
push eax
push edi
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
test eax, eax
je 0x5810c8
mov eax, 1
jmp 0x583563
mov edx, dword [ebp - 0x34]
mov ecx, dword [0x4d3384]
mov dword [edx + 0x46a], ecx
mov eax, dword [ebp - 0x34]
add eax, 0x2ec
push eax
push edi
mov edx, dword [ebp - 0x20]
push edx
push 1
mov ecx, dword [ebp - 0x24]
push ecx
push 0x22
call fcn.005ecea2
add esp, 0x18
jmp 0x583563
mov eax, 1
jmp 0x583563
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x20]
push edx
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.005ae2fa
add esp, 0x10
cmp edi, 0x1b
jne 0x581141
cmp dword [ebp - 0x24], 0
jne 0x581141
push 0x4000
push 0
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5814b9
cmp edi, 9
jne 0x581172
cmp dword [ebp - 0x20], 0
je 0x581154
mov ecx, dword [0x4cd6a8]
jmp 0x58115a
mov ecx, dword [0x4cde42]
push ecx
push 0
push 0x471
mov eax, dword [0x4cd6a0]
push eax
call fcn.005731e6
jmp 0x5814b9
cmp dword [ebp - 0x24], 0
jne 0x581394
cmp edi, 0x25
je 0x581194
cmp edi, 0x27
je 0x581194
cmp edi, 0x26
je 0x581194
cmp edi, 0x28
jne 0x581394
cmp dword [0x4d5798], 0
je 0x5811a6
cmp dword [0x4d3018], 0
je 0x5811aa
xor edx, edx
jmp 0x5811af
mov edx, 1
mov dword [ebp - 0x2c], edx
mov ebx, 0x4b2e60
jmp 0x5811d3
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x5811c5
cmp dword [eax], 0
je 0x5811d0
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x5811d9
add ebx, 0x18
cmp word [ebx], 0
jne 0x5811b9
xor ecx, ecx
xor eax, eax
mov cl, byte [ebx + 4]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov al, byte [ebx + 6]
mov ebx, 0x4b2e60
mov dword [ebp - 0x14], eax
jmp 0x58134c
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x581205
cmp dword [eax], 0
je 0x581349
mov ax, word [ebx + 2]
cmp ax, 5
je 0x58121e
movsx edx, ax
cmp edx, dword [0x4b2e5c]
jne 0x581349
movsx eax, word [ebx]
cmp eax, dword [0x4d3384]
je 0x581349
cmp edi, 0x25
jne 0x581265
xor edx, edx
mov dl, byte [ebx + 6]
cmp edx, dword [ebp - 0x14]
jne 0x581349
xor eax, eax
mov al, byte [ebx + 4]
cmp eax, dword [ebp - 0x10]
jge 0x581349
test ecx, ecx
je 0x58125e
mov dl, byte [ecx + 4]
cmp dl, byte [ebx + 4]
jae 0x581349
mov ecx, ebx
jmp 0x581349
cmp edi, 0x27
jne 0x58129d
xor eax, eax
mov al, byte [ebx + 6]
cmp eax, dword [ebp - 0x14]
jne 0x581349
xor edx, edx
mov dl, byte [ebx + 4]
cmp edx, dword [ebp - 0x10]
jle 0x581349
test ecx, ecx
je 0x581296
mov al, byte [ecx + 4]
cmp al, byte [ebx + 4]
jbe 0x581349
mov ecx, ebx
jmp 0x581349
cmp edi, 0x26
jne 0x5812f8
xor edx, edx
mov dl, byte [ebx + 6]
cmp edx, dword [ebp - 0x14]
jge 0x581349
test ecx, ecx
je 0x5812f4
mov al, byte [ecx + 6]
cmp al, byte [ebx + 6]
jb 0x5812f4
mov dl, byte [ecx + 6]
cmp dl, byte [ebx + 6]
jne 0x581349
xor eax, eax
mov al, byte [ebx + 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cdq
xor eax, edx
sub eax, edx
mov esi, eax
xor eax, eax
mov al, byte [ecx + 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cdq
xor eax, edx
sub eax, edx
cmp esi, eax
jge 0x581349
mov ecx, ebx
jmp 0x581349
cmp edi, 0x28
jne 0x581349
xor eax, eax
mov al, byte [ebx + 6]
cmp eax, dword [ebp - 0x14]
jle 0x581349
test ecx, ecx
je 0x581347
mov dl, byte [ecx + 6]
cmp dl, byte [ebx + 6]
ja 0x581347
mov al, byte [ecx + 6]
cmp al, byte [ebx + 6]
jne 0x581349
xor edx, edx
mov dl, byte [ebx + 4]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
cdq
xor eax, edx
sub eax, edx
mov esi, eax
xor eax, eax
mov al, byte [ecx + 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cdq
xor eax, edx
sub eax, edx
cmp esi, eax
jge 0x581349
mov ecx, ebx
add ebx, 0x18
cmp word [ebx], 0
je 0x581366
cmp dword [ebp - 0x2c], 0
jne 0x5811f5
cmp byte [ebx + 6], 0x1e
jbe 0x5811f5
test ecx, ecx
jne 0x581371
xor eax, eax
jmp 0x583563
movsx edx, word [ecx]
push 0
push 0
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [0x4d3384], edx
mov dword [0x4cf001], ecx
push eax
call fcn.006054d8
jmp 0x5814b9
cmp dword [ebp - 0x24], 0
jne 0x58142e
cmp edi, 0xd
jne 0x58142e
cmp dword [0x4d3018], 0
jne 0x58142e
cmp dword [0x4d3384], 0
jne 0x5813c0
xor eax, eax
jmp 0x583563
mov ebx, 0x4b2e60
jmp 0x5813f4
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x5813d3
cmp dword [eax], 0
je 0x5813f1
cmp word [ebx + 2], 5
je 0x5813e6
movsx edx, word [ebx + 2]
cmp edx, dword [0x4b2e5c]
jne 0x5813f1
movsx ecx, word [ebx]
cmp ecx, dword [0x4d3384]
je 0x5813fa
add ebx, 0x18
cmp word [ebx], 0
jne 0x5813c7
cmp word [ebx], 0
jne 0x581407
xor eax, eax
jmp 0x583563
xor edx, edx
mov dl, byte [ebx + 6]
sub edx, dword [0x4d3014]
push edx
xor ecx, ecx
mov cl, byte [ebx + 4]
push ecx
push 0x46f
mov eax, dword [ebp + 8]
push eax
call fcn.00580882
xor eax, eax
jmp 0x583563
cmp dword [ebp - 0x24], 0
je 0x581448
cmp edi, 0x43
jne 0x581448
mov edx, dword [0x4d3384]
push edx
call fcn.0057ff66
pop ecx
jmp 0x5814b9
mov ecx, dword [ebp + 0x14]
push ecx
push edi
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
test eax, eax
je 0x581470
mov eax, 1
jmp 0x583563
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x58148b
xor eax, eax
jmp 0x583563
mov edx, dword [ebp - 0x34]
mov ecx, dword [0x4d3384]
mov dword [edx + 0x46a], ecx
push 0x4d3388
push edi
mov eax, dword [ebp - 0x20]
push eax
push 0
mov edx, dword [ebp - 0x24]
push edx
push 0x22
call fcn.005ecea2
add esp, 0x18
jmp 0x583563
mov eax, 1
jmp 0x583563
cmp dword [0x4d3018], 0
je 0x5814d3
xor eax, eax
jmp 0x583563
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x5814f0
xor eax, eax
jmp 0x583563
lea edx, [ebp - 0x16c]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006054ba
cmp dword [0x4cefe9], 0
je 0x58151e
mov eax, dword [0x4ceefc]
mov edx, dword [eax*4 + 0x4d4920]
add edx, 4
add dword [ebp - 0x168], edx
mov ebx, 0x4b2e60
jmp 0x58153f
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x581531
cmp dword [eax], 0
je 0x58153c
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x581545
add ebx, 0x18
cmp word [ebx], 0
jne 0x581525
cmp word [ebx], 0
jne 0x581562
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x14], eax
jmp 0x5815fb
mov ecx, dword [0x4ceff5]
xor edx, edx
mov dl, byte [ebx + 5]
mov eax, dword [ebp - 0x16c]
imul edx, dword [ecx*4 + 0x4d48f4]
sub eax, dword [0x4cf001]
add edx, eax
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x10]
jle 0x58159c
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x10], ecx
jmp 0x5815b0
mov eax, dword [ebp - 0x164]
cmp eax, dword [ebp - 0x10]
jge 0x5815b0
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov eax, dword [0x4ceff5]
mov cl, byte [ebx + 6]
sub ecx, dword [0x4d3014]
imul ecx, dword [eax*4 + 0x4d4920]
add ecx, dword [ebp - 0x168]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x14]
jle 0x5815e7
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x14], ecx
jmp 0x5815fb
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x14]
jge 0x5815fb
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x34]
push edi
mov edi, 0x4d3388
lea esi, [ecx + 0x2ec]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x4d3384]
pop edi
and eax, 0xf
mov esi, dword [0x4d3384]
mov dword [ebp - 0x1c], eax
and esi, 0x1f0
mov edx, dword [ebp - 0x1c]
add edx, dword [0x4d33bc]
and edx, 0x80000007
jns 0x581641
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebp - 8], edx
push edi
call fcn.005fdc5a
pop ecx
test eax, eax
je 0x5816dd
cmp esi, 0x10
jne 0x5816dd
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x15c]
mov eax, dword [ecx*4 + 0x4c2650]
push eax
push 0x4b4f3f
push edx
call fcn.005fcc36
add esp, 0xc
cmp dword [ebp - 0x1c], 4
jge 0x5816ad
mov ecx, dword [ebp - 0x14]
mov edx, edi
push ecx
mov eax, dword [ebp - 0x10]
push eax
push edx
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x15c]
shl ecx, 2
add ecx, 0x4d3394
push ecx
push eax
call fcn.005931a2
add esp, 0x14
jmp 0x581784
mov edx, dword [ebp - 0x14]
mov eax, edi
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push 0
push eax
push 4
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x15c]
shl edx, 2
add edx, 0x4d3394
push edx
push ecx
call fcn.0059309a
add esp, 0x1c
jmp 0x581784
push edi
call fcn.005fdbc6
pop ecx
test eax, eax
jne 0x5816f7
cmp edi, 0x2e
je 0x5816f7
cmp edi, 0x2d
je 0x5816f7
cmp edi, 0x2b
jne 0x581751
cmp esi, 0x70
jne 0x581751
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x15c]
mov edx, dword [eax*4 + 0x4c2758]
push edx
push 0x4b4f3f
push ecx
call fcn.005fcc36
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, edi
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4d3410
push edx
push 0
push ecx
lea ecx, [ebp - 0x15c]
add eax, dword [ebp - 8]
push eax
mov edx, dword [ebp - 8]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d33c0
push edx
push ecx
call fcn.0059368e
add esp, 0x1c
jmp 0x581784
cmp edi, 0x2b
jne 0x581767
cmp esi, 0x10
jne 0x581767
mov eax, dword [ebp - 0x1c]
inc dword [eax*4 + 0x4d3394]
jmp 0x581784
cmp edi, 0x2d
jne 0x58177d
cmp esi, 0x10
jne 0x58177d
mov edx, dword [ebp - 0x1c]
dec dword [edx*4 + 0x4d3394]
jmp 0x581784
xor eax, eax
jmp 0x583563
push 0x196
push 0x4d3388
mov edx, dword [ebp - 0x34]
add edx, 0x2ec
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x58181a
cmp dword [0x4d338c], 0
jne 0x5817dc
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
lea esi, [ecx + 0x2ec]
lea edi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [0x4d3388], 1
mov dword [0x4d338c], 1
mov eax, dword [ebp - 0x34]
mov esi, 0x4d3388
mov ecx, 0x65
lea edi, [eax + 0x2ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0
push 0x476
call fcn.005b047e
add esp, 0xc
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
mov edx, dword [ebp + 8]
push edx
call fcn.006055fe
xor eax, eax
jmp 0x583563
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x581856
push 0
push 0
push 0x465
mov ecx, dword [ebp + 8]
push ecx
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
jmp 0x583551
mov eax, dword [ebp - 0x34]
push edi
mov edi, 0x4d3388
mov ecx, 0x65
lea esi, [eax + 0x2ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x34]
pop edi
push edi
mov edi, 0x4d351e
lea esi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x4d3384]
pop edi
and eax, 0xf
mov esi, dword [0x4d3384]
mov dword [ebp - 0x1c], eax
and esi, 0x1f0
mov edx, dword [ebp - 0x1c]
add edx, dword [0x4d33bc]
and edx, 0x80000007
jns 0x5818b5
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebp - 8], edx
mov ebx, 0x4b2e60
jmp 0x5818d9
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x5818cb
cmp dword [eax], 0
je 0x5818d6
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x5818df
add ebx, 0x18
cmp word [ebx], 0
jne 0x5818bf
call fcn.006053a0
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x58200f
xor ecx, ecx
cmp dword [0x4d3018], 0
mov dword [ebp - 0x28], ecx
jne 0x581af1
cmp esi, 0x10
jne 0x58192c
push 0x4b53fe
push 0xb
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
push 0x4b540e
push 0xc
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
cmp dword [ebx + 0x10], 0
je 0x58196a
cmp esi, 0xc0
je 0x58196a
mov ecx, dword [ebx + 8]
mov eax, dword [ecx]
and eax, dword [ebx + 0x10]
jne 0x581958
push 0x4b541f
push 0xd
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
jmp 0x58196a
push 0x4b542a
push 0xd
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x10
je 0x581974
cmp esi, 0x40
jne 0x58198e
mov eax, dword [ebx + 8]
cmp dword [eax], 0
je 0x58198e
push 0x4b5437
push 0xe
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
cmp esi, 0x70
je 0x5819ab
cmp esi, 0xe0
je 0x5819ab
cmp esi, 0xf0
je 0x5819ab
cmp esi, 0x100
jne 0x5819bd
push 0x4b5437
push 0xe
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x10
jne 0x5819dc
mov eax, dword [ebx + 8]
cmp dword [eax], 1
je 0x5819dc
push 0x4b543d
push 0xf
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
cmp esi, 0x10
je 0x581a18
cmp esi, 0x40
je 0x581a18
cmp esi, 0x50
je 0x581a18
cmp esi, 0x70
je 0x581a18
cmp esi, 0x80
je 0x581a18
cmp esi, 0xb0
je 0x581a18
cmp esi, 0xe0
je 0x581a18
cmp esi, 0xf0
je 0x581a18
cmp esi, 0x100
jne 0x581a2a
push 0x4b5447
push 0x10
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x20
jne 0x581a66
mov eax, dword [0x4d33b4]
cmp eax, dword [0x4cda2d]
je 0x581a66
mov edx, dword [0x4d33b4]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x581a66
push 0x4b5455
push 0x11
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
mov dword [ebp - 0x28], 1
cmp esi, 0x60
jne 0x581af1
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4d3410], 0
je 0x581a8d
push 0x4b5463
push 0x15
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [ebp - 8]
xor eax, eax
mov al, byte [ecx + 0x4d3410]
dec eax
je 0x581aad
push 0x4b5472
push 0x16
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [ebp - 8]
xor eax, eax
mov al, byte [ecx + 0x4d3410]
cmp eax, 2
je 0x581acf
push 0x4b5480
push 0x17
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [ebp - 8]
xor eax, eax
mov al, byte [ecx + 0x4d3410]
cmp eax, 3
je 0x581af1
push 0x4b548d
push 0x18
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
test esi, esi
je 0x581b07
push 0x4b549c
push 0x1e
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
push 0x4b54bf
push 0x1f
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
cmp dword [0x4d3018], 0
jne 0x581e6f
cmp esi, 0x60
je 0x581b30
cmp esi, 0x70
jne 0x581b54
push 0x4b54df
push 0x20
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
push 0x4b54ee
push 0x21
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0xc0
jne 0x581c51
test byte [0x4d341d], 0xc
je 0x581b7b
push 0x4b54fc
push 0x29
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
mov edx, dword [0x4d341c]
and edx, 0xc00
cmp edx, 0x400
je 0x581ba1
push 0x4b550e
push 0x2a
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
mov eax, dword [0x4d341c]
and eax, 0xc00
cmp eax, 0x800
je 0x581bc4
push 0x4b551a
push 0x2b
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [0x4d341c]
and ecx, 0xc00
cmp ecx, 0xc00
je 0x581bea
push 0x4b5524
push 0x2c
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
test byte [0x4d341d], 3
je 0x581c05
push 0x4b5533
push 0x2d
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [0x4d341c]
and ecx, 0x300
cmp ecx, 0x200
je 0x581c2b
push 0x4b5544
push 0x2e
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
mov edx, dword [0x4d341c]
and edx, 0x300
cmp edx, 0x300
je 0x581c51
push 0x4b5555
push 0x2f
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x130
jne 0x581ce7
test byte [0x4d3503], 0x60
je 0x581c78
push 0x4b54fc
push 0x33
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
mov edx, dword [0x4d3502]
and edx, 0x6000
cmp edx, 0x2000
je 0x581c9e
push 0x4b550e
push 0x34
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
mov eax, dword [0x4d3502]
and eax, 0x6000
cmp eax, 0x4000
je 0x581cc1
push 0x4b551a
push 0x35
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [0x4d3502]
and ecx, 0x6000
cmp ecx, 0x6000
je 0x581ce7
push 0x4b5524
push 0x36
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
cmp dword [ebx + 8], 0
je 0x581d2d
cmp dword [ebx + 0xc], 0
je 0x581d2d
cmp dword [0x4d338c], 0
je 0x581d2d
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov dword [ebp - 0x30], ecx
cmp dword [ebx + 0x10], 0
je 0x581d15
mov edx, dword [ebx + 0x10]
and dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0
je 0x581d2d
push 0x4b5566
push 0x39
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x60
jne 0x581d61
cmp dword [0x4d338c], 0
je 0x581d61
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dl, byte [eax + 0x4d3410]
cmp dl, byte [ecx + 0x4d35a6]
je 0x581d61
push 0x4b5566
push 0x39
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
cmp esi, 0x70
jne 0x581dcd
cmp dword [0x4d338c], 0
je 0x581dcd
push 0xa
mov edx, dword [ebp - 8]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d33c0
push edx
mov ecx, dword [ebp - 8]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d3556
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x581dad
push 0x4b5566
push 0x39
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
mov edx, dword [0x4d33bc]
cmp edx, dword [0x4d3552]
je 0x581dcd
push 0x4b5575
push 0x3a
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0xe0
je 0x581ddd
cmp esi, 0xf0
jne 0x581e24
cmp dword [0x4d338c], 0
je 0x581e24
push 0xa
mov eax, dword [ebp - 0x1c]
add eax, eax
lea eax, [eax + eax*4]
add eax, 0x4d33c0
push eax
mov edx, dword [ebp - 0x1c]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d3556
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x581e24
push 0x4b5566
push 0x39
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x100
jne 0x581e6f
cmp dword [0x4d338c], 0
je 0x581e6f
push 0x10
mov eax, dword [ebp - 0x1c]
shl eax, 4
add eax, 0x4d3482
push eax
mov edx, dword [ebp - 0x1c]
shl edx, 4
add edx, 0x4d3618
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x581e6f
push 0x4b5566
push 0x39
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x10
jne 0x581f59
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax*4 + 0x4d3394]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x581f59
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax*4 + 0x4d3394]
push edx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x581efc
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx*4 + 0x4d3394]
cmp eax, dword [edx + 0xc]
jb 0x581efc
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1c]
add eax, dword [edx + 0x10]
cmp eax, dword [ecx*4 + 0x4d3394]
jbe 0x581efc
push 0x4b5583
push 0x3d
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
push 0x4b559b
push 0x3e
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x1c]
test byte [ecx*4 + 0x4d3394], 3
jne 0x581f59
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax*4 + 0x4d3394]
cmp edx, dword [0x4ce1b7]
jb 0x581f59
mov ecx, dword [ebp - 0x1c]
mov edx, dword [0x4ce1b7]
add edx, dword [0x4ce1bb]
mov eax, dword [ecx*4 + 0x4d3394]
cmp eax, edx
jae 0x581f59
push 0x4b55ab
push 0x3f
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp esi, 0x20
je 0x581f62
test esi, esi
jne 0x581f68
cmp dword [ebp - 0x28], 0
je 0x581f7d
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
cmp dword [0x4b2e5c], 1
je 0x581f98
push 0x4b55bb
push 0x47
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
cmp dword [0x4b2e5c], 2
je 0x581fb3
push 0x4b55ce
push 0x48
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605358
cmp dword [0x4b2e5c], 3
je 0x581fce
push 0x4b55e1
push 0x49
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00605358
cmp dword [0x4b2e5c], 4
je 0x581fe9
push 0x4b55f7
push 0x4a
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x4d3384]
mov dword [ecx + 0x46a], eax
mov edx, dword [ebp - 0x34]
add edx, 0x2ec
push edx
push 0x22
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005ec4f2
add esp, 0xc
mov eax, dword [ebp - 0x44]
push eax
push 0
push 0x465
mov edx, dword [ebp + 8]
push edx
push 0x4cedbc
call fcn.005ae366
add esp, 0x14
mov dword [ebp - 4], eax
call fcn.005ec5a6
cmp dword [ebp - 0x44], 0
je 0x582042
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.006053c4
lea eax, [ebp - 0x16c]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.006054ba
cmp dword [0x4cefe9], 0
je 0x582071
mov ecx, dword [0x4ceefc]
mov eax, dword [ecx*4 + 0x4d4920]
add eax, 4
add dword [ebp - 0x168], eax
mov ebx, 0x4b2e60
jmp 0x582092
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x582084
cmp dword [eax], 0
je 0x58208f
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x582098
add ebx, 0x18
cmp word [ebx], 0
jne 0x582078
cmp word [ebx], 0
jne 0x5820b5
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x14], eax
jmp 0x58214e
mov ecx, dword [0x4ceff5]
xor edx, edx
mov dl, byte [ebx + 5]
mov eax, dword [ebp - 0x16c]
imul edx, dword [ecx*4 + 0x4d48f4]
sub eax, dword [0x4cf001]
add edx, eax
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x10]
jle 0x5820ef
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x10], ecx
jmp 0x582103
mov eax, dword [ebp - 0x164]
cmp eax, dword [ebp - 0x10]
jge 0x582103
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov eax, dword [0x4ceff5]
mov cl, byte [ebx + 6]
sub ecx, dword [0x4d3014]
imul ecx, dword [eax*4 + 0x4d4920]
add ecx, dword [ebp - 0x168]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x14]
jle 0x58213a
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x14], ecx
jmp 0x58214e
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x14]
jge 0x58214e
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 4], 0x2df
jle 0x582174
cmp dword [ebp - 4], 0x2ff
jg 0x582174
mov ecx, dword [ebp - 4]
push ecx
call fcn.005717ea
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0xb
jne 0x582189
mov edx, dword [ebp - 0x1c]
inc dword [edx*4 + 0x4d3394]
jmp 0x582b6c
cmp dword [ebp - 4], 0xc
jne 0x58219e
mov ecx, dword [ebp - 0x1c]
dec dword [ecx*4 + 0x4d3394]
jmp 0x582b6c
cmp dword [ebp - 4], 0xd
jne 0x5821b1
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
xor dword [eax], edx
jmp 0x582b6c
cmp dword [ebp - 4], 0xe
jne 0x58226c
cmp esi, 0x10
jne 0x5821d1
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov dword [ecx*4 + 0x4d3394], eax
jmp 0x582b6c
cmp esi, 0x40
jne 0x5821e7
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [edx*4 + 0x4d3420], ecx
jmp 0x582b6c
cmp esi, 0xe0
je 0x5821f7
cmp esi, 0xf0
jne 0x58221a
push 0xa
push 0x4b560c
mov eax, dword [ebp - 0x1c]
add eax, eax
lea eax, [eax + eax*4]
add eax, 0x4d33c0
push eax
call fcn.005f953a
add esp, 0xc
jmp 0x582b6c
cmp esi, 0x100
jne 0x582240
push 0x10
push 0
mov edx, dword [ebp - 0x1c]
shl edx, 4
add edx, 0x4d3482
push edx
call fcn.005f95aa
add esp, 0xc
jmp 0x582b6c
cmp esi, 0x70
jne 0x582b6c
mov ecx, dword [ebp - 8]
lea ecx, [ecx + ecx*4]
xor eax, eax
mov dword [ecx*2 + 0x4d33c0], eax
mov dword [ecx*2 + 0x4d33c4], eax
mov word [ecx*2 + 0x4d33c8], ax
jmp 0x582b6c
cmp dword [ebp - 4], 0xf
jne 0x582285
mov edx, dword [ebp - 0x1c]
mov dword [edx*4 + 0x4d3394], 1
jmp 0x582b6c
cmp dword [ebp - 4], 0x10
jne 0x58265a
cmp esi, 0x10
jne 0x582313
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x15c]
mov eax, dword [ecx*4 + 0x4c2650]
push eax
push 0x4b4f3f
push edx
call fcn.005fcc36
add esp, 0xc
cmp dword [ebp - 0x1c], 4
jge 0x5822e4
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 0x4d3394
push edx
lea ecx, [ebp - 0x15c]
push ecx
call fcn.005931a2
add esp, 0x14
jmp 0x582b6c
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
push 0
push 0
push 4
mov ecx, dword [ebp - 0x1c]
shl ecx, 2
add ecx, 0x4d3394
push ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.0059309a
add esp, 0x1c
jmp 0x582b6c
cmp esi, 0x40
jne 0x58244c
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x15c]
mov ecx, dword [edx*4 + 0x4c2674]
push ecx
push 0x4b4f3f
push eax
call fcn.005fcc36
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push 2
push 0
push 2
mov eax, dword [ebp - 0x1c]
shl eax, 2
add eax, 0x4d3420
push eax
lea edx, [ebp - 0x15c]
push edx
call fcn.0059309a
add esp, 0x1c
test eax, eax
jne 0x582b6c
lea ecx, [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax*4 + 0x4d3420]
push edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0xc]
push eax
call fcn.006050d6
test eax, eax
je 0x582427
movzx ecx, word [ebp - 0x3e]
mov dl, byte [ebp - 0x3c]
mov al, byte [ebp - 0x39]
and edx, 0xff
and eax, 0xff
shl edx, 0x10
and ecx, 0xffff
and edx, 0xff0000
add edx, ecx
mov ecx, dword [ebp - 0x1c]
shl eax, 0x18
and eax, 0xff000000
add edx, eax
mov dword [ecx*4 + 0x4d3438], edx
movzx eax, word [ebp - 0x40]
mov dl, byte [ebp - 0x3a]
mov ecx, dword [ebp - 0x1c]
and edx, 0xf
and eax, 0xffff
shl edx, 0x10
and edx, 0xf0000
add edx, eax
mov dword [ecx*4 + 0x4d3450], edx
test byte [ebp - 0x3a], 0x80
je 0x582410
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx*4 + 0x4d3450]
mov edx, dword [ebp - 0x1c]
shl eax, 0xc
add eax, 0xfff
mov dword [edx*4 + 0x4d3450], eax
mov cl, byte [ebp - 0x3a]
mov eax, dword [ebp - 0x1c]
shr ecx, 6
and ecx, 1
mov byte [eax + 0x4d3468], cl
jmp 0x582b6c
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [edx*4 + 0x4d3450], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0x4d3438], ecx
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x4d3468], 1
jmp 0x582b6c
cmp esi, 0x50
jne 0x582476
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
push 2
push 0
push 4
push 0x4d33b8
push 0x4b5617
call fcn.0059309a
add esp, 0x1c
jmp 0x582b6c
cmp esi, 0x70
jne 0x5824d2
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x15c]
mov eax, dword [ecx*4 + 0x4c2758]
push eax
push 0x4b4f3f
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0
mov edx, 0x4d3410
add edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 8]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d33c0
push ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.0059368e
add esp, 0x1c
jmp 0x582b6c
cmp esi, 0x80
jne 0x5824ff
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push 2
push 0
push 2
push 0x4d3418
push 0x4b5624
call fcn.0059309a
add esp, 0x1c
jmp 0x582b6c
cmp esi, 0xb0
jne 0x58252c
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
push 2
push 0
push 2
push 0x4d341c
push 0x4b5636
call fcn.0059309a
add esp, 0x1c
jmp 0x582b6c
cmp esi, 0xe0
jne 0x582598
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x15c]
mov eax, dword [ecx*4 + 0x4c277c]
push eax
push 0x4b4f3f
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
mov edx, dword [ebp - 0x1c]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d33c0
push edx
lea ecx, [ebp - 0x15c]
push ecx
call fcn.00596ffe
add esp, 0x14
test eax, eax
jne 0x582b6c
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
mov word [eax*2 + 0x4d33c8], 0xffff
jmp 0x582b6c
cmp esi, 0xf0
jne 0x582604
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x15c]
mov ecx, dword [edx*4 + 0x4c277c]
push ecx
push 0x4b4f49
push eax
call fcn.005fcc36
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov eax, dword [ebp - 0x1c]
add eax, eax
lea eax, [eax + eax*4]
add eax, 0x4d33c0
push eax
lea edx, [ebp - 0x15c]
push edx
call fcn.0059721a
add esp, 0x14
test eax, eax
jne 0x582b6c
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx + ecx*4]
mov word [ecx*2 + 0x4d33c8], 0xffff
jmp 0x582b6c
cmp esi, 0x100
jne 0x582b6c
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x15c]
mov edx, dword [eax*4 + 0x4c27a0]
push edx
push 0x4b4f3f
push ecx
call fcn.005fcc36
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
push 0
mov ecx, dword [ebp - 0x1c]
shl ecx, 4
add ecx, 0x4d3482
push ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00597482
add esp, 0x14
jmp 0x582b6c
cmp dword [ebp - 4], 0x11
jne 0x58267c
push 5
push 0
push 0
mov edx, dword [0x4d33b4]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x582b6c
cmp dword [ebp - 4], 0x15
jne 0x582691
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x4d3410], 0
jmp 0x582b6c
cmp dword [ebp - 4], 0x16
jne 0x5826a6
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x4d3410], 1
jmp 0x582b6c
cmp dword [ebp - 4], 0x17
jne 0x5826bb
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x4d3410], 2
jmp 0x582b6c
cmp dword [ebp - 4], 0x18
jne 0x5826d0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x4d3410], 3
jmp 0x582b6c
cmp dword [ebp - 4], 0x1e
jne 0x5826e7
mov eax, dword [0x4d3384]
push eax
call fcn.0057ff66
pop ecx
jmp 0x582b6c
cmp dword [ebp - 4], 0x1f
jne 0x5826f7
call fcn.0058071e
jmp 0x582b6c
cmp dword [ebp - 4], 0x20
jne 0x58271e
mov edx, dword [0x4d33bc]
add edx, 7
and edx, 0x80000007
jns 0x582713
dec edx
or edx, 0xfffffff8
inc edx
mov dword [0x4d33bc], edx
jmp 0x582b6c
cmp dword [ebp - 4], 0x21
jne 0x582743
mov ecx, dword [0x4d33bc]
inc ecx
and ecx, 0x80000007
jns 0x582738
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [0x4d33bc], ecx
jmp 0x582b6c
cmp dword [ebp - 4], 0x29
jne 0x582758
and dword [0x4d341c], 0xfffff3ff
jmp 0x582b6c
cmp dword [ebp - 4], 0x2a
jne 0x582777
mov eax, dword [0x4d341c]
and eax, 0xfffff3ff
or eax, 0x400
mov dword [0x4d341c], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0x2b
jne 0x58279a
mov edx, dword [0x4d341c]
and edx, 0xfffff3ff
or edx, 0x800
mov dword [0x4d341c], edx
jmp 0x582b6c
cmp dword [ebp - 4], 0x2c
jne 0x5827af
or dword [0x4d341c], 0xc00
jmp 0x582b6c
cmp dword [ebp - 4], 0x2d
jne 0x5827c4
and dword [0x4d341c], 0xfffffcff
jmp 0x582b6c
cmp dword [ebp - 4], 0x2e
jne 0x5827e7
mov ecx, dword [0x4d341c]
and ecx, 0xfffffcff
or ecx, 0x200
mov dword [0x4d341c], ecx
jmp 0x582b6c
cmp dword [ebp - 4], 0x2f
jne 0x5827fc
or dword [0x4d341c], 0x300
jmp 0x582b6c
cmp dword [ebp - 4], 0x33
jne 0x582811
and dword [0x4d3502], 0xffff9fff
jmp 0x582b6c
cmp dword [ebp - 4], 0x34
jne 0x582830
mov eax, dword [0x4d3502]
and eax, 0xffff9fff
or eax, 0x2000
mov dword [0x4d3502], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0x35
jne 0x582853
mov edx, dword [0x4d3502]
and edx, 0xffff9fff
or edx, 0x4000
mov dword [0x4d3502], edx
jmp 0x582b6c
cmp dword [ebp - 4], 0x36
jne 0x582868
or dword [0x4d3502], 0x6000
jmp 0x582b6c
cmp dword [ebp - 4], 0x39
jne 0x582963
cmp esi, 0x60
jne 0x58288e
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov al, byte [ecx + 0x4d35a6]
mov byte [edx + 0x4d3410], al
jmp 0x582b6c
cmp esi, 0x70
jne 0x5828c0
push 0xa
mov ecx, dword [ebp - 8]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d3556
push ecx
mov eax, dword [ebp - 8]
add eax, eax
lea eax, [eax + eax*4]
add eax, 0x4d33c0
push eax
call fcn.005f953a
add esp, 0xc
jmp 0x582b6c
cmp esi, 0xe0
je 0x5828d0
cmp esi, 0xf0
jne 0x5828fd
push 0xa
mov edx, dword [ebp - 0x1c]
add edx, edx
lea edx, [edx + edx*4]
add edx, 0x4d3556
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, 0x4d33c0
push ecx
call fcn.005f953a
add esp, 0xc
jmp 0x582b6c
cmp esi, 0x100
jne 0x58292e
push 0x10
mov eax, dword [ebp - 0x1c]
shl eax, 4
add eax, 0x4d3618
push eax
mov edx, dword [ebp - 0x1c]
shl edx, 4
add edx, 0x4d3482
push edx
call fcn.005f953a
add esp, 0xc
jmp 0x582b6c
cmp dword [ebx + 0x10], 0
jne 0x582943
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0x582b6c
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
not edx
mov eax, dword [ecx]
mov ecx, dword [ebx + 0xc]
and eax, edx
mov edx, dword [ecx]
and edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
or eax, edx
mov dword [ecx], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0x3a
jne 0x582978
mov eax, dword [0x4d3552]
mov dword [0x4d33bc], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0x3d
jne 0x58299e
push 0xd
push 0
push 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax*4 + 0x4d3394]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x582b6c
cmp dword [ebp - 4], 0x3e
jne 0x5829c7
push pe_nt_image_headers32
push 0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx*4 + 0x4d3394]
push eax
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x582b6c
cmp dword [ebp - 4], 0x3f
jne 0x5829f0
push 0x800
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx*4 + 0x4d3394]
push ecx
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x582b6c
cmp dword [ebp - 4], 0x47
jne 0x582a32
test esi, esi
je 0x582a12
cmp esi, 0xe0
je 0x582a12
cmp esi, 0xf0
je 0x582a12
cmp esi, 0x150
jne 0x582a20
mov eax, dword [ebp - 0x1c]
and eax, 7
add eax, 0x70
mov dword [0x4d3384], eax
push 1
call fcn.0057200a
pop ecx
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x582b6c
cmp dword [ebp - 4], 0x48
jne 0x582ab2
cmp esi, 0x60
je 0x582a52
cmp esi, 0x70
je 0x582a52
cmp esi, 0xf0
je 0x582a52
cmp esi, 0x150
jne 0x582a66
mov ecx, dword [ebp - 0x1c]
and ecx, 7
add ecx, 0xe0
mov dword [0x4d3384], ecx
jmp 0x582aa0
cmp esi, 0x80
je 0x582a96
cmp esi, 0x90
je 0x582a96
cmp esi, 0xa0
je 0x582a96
cmp esi, 0xb0
je 0x582a96
cmp esi, 0xc0
je 0x582a96
cmp esi, 0xd0
jne 0x582aa0
mov dword [0x4d3384], 0xe0
push 2
call fcn.0057200a
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x582b6c
cmp dword [ebp - 4], 0x49
jne 0x582b2f
cmp esi, 0x60
je 0x582ad2
cmp esi, 0x70
je 0x582ad2
cmp esi, 0xe0
je 0x582ad2
cmp esi, 0x150
jne 0x582ae6
mov edx, dword [ebp - 0x1c]
and edx, 7
add edx, 0xf0
mov dword [0x4d3384], edx
jmp 0x582b20
cmp esi, 0x80
je 0x582b16
cmp esi, 0x90
je 0x582b16
cmp esi, 0xa0
je 0x582b16
cmp esi, 0xb0
je 0x582b16
cmp esi, 0xc0
je 0x582b16
cmp esi, 0xd0
jne 0x582b20
mov dword [0x4d3384], 0xf0
push 3
call fcn.0057200a
pop ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x582b6c
cmp dword [ebp - 4], 0x4a
jne 0x582b4e
mov dword [0x4d3384], 0x150
push 4
call fcn.0057200a
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x582b6c
push 0x4cd6a8
mov edx, dword [ebp - 4]
push edx
push 0x22
call fcn.005ec5ee
add esp, 0xc
test eax, eax
jne 0x582b6c
xor eax, eax
jmp 0x583563
push 0x196
push 0x4d3388
mov edx, dword [ebp - 0x34]
add edx, 0x2ec
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x582c2e
cmp dword [0x4d338c], 0
jne 0x582c04
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
push edi
lea esi, [ecx + 0x2ec]
lea edi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
mov dword [0x4d3388], 1
push 0x80
push 0x4d3482
mov eax, dword [ebp - 0x34]
add eax, 0x3e6
push eax
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x582bf0
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx + 0x466]
cmp ecx, dword [0x4d3502]
je 0x582bfa
mov dword [0x4d347e], 1
mov dword [0x4d338c], 1
mov eax, dword [ebp - 0x34]
push edi
mov esi, 0x4d3388
mov ecx, 0x65
lea edi, [eax + 0x2ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0
push 0
push 0x476
call fcn.005b047e
add esp, 0xc
cmp dword [ebp - 4], 0
je 0x583551
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
jmp 0x583551
lea edx, [ebp - 0x16c]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605436
cmp dword [0x4cefe9], 1
jne 0x58343a
mov eax, dword [0x4ceefc]
mov edx, dword [eax*4 + 0x4d4920]
add edx, 4
mov dword [ebp - 0x168], edx
mov ecx, dword [0x4ceff5]
cmp dword [0x4d3384], 0
mov esi, dword [ecx*4 + 0x4d48f4]
je 0x583537
mov ebx, 0x4b2e60
jmp 0x583475
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x583467
cmp dword [eax], 0
je 0x583472
movsx edx, word [ebx]
cmp edx, dword [0x4d3384]
je 0x58347b
add ebx, 0x18
cmp word [ebx], 0
jne 0x58345b
cmp byte [ebx + 5], 0xff
je 0x5834ac
xor ecx, ecx
mov eax, dword [0x4cf001]
mov cl, byte [ebx + 5]
imul ecx, esi
add eax, dword [ebp - 0x164]
cmp ecx, eax
jle 0x5834ac
xor edx, edx
mov dl, byte [ebx + 5]
imul edx, esi
sub edx, dword [ebp - 0x164]
mov dword [0x4cf001], edx
xor ecx, ecx
mov cl, byte [ebx + 4]
imul ecx, esi
cmp ecx, dword [0x4cf001]
jge 0x5834c8
xor eax, eax
mov al, byte [ebx + 4]
imul esi
mov dword [0x4cf001], eax
mov edx, dword [0x4ceff5]
mov eax, dword [ebp - 0x160]
sub eax, dword [ebp - 0x168]
mov ecx, dword [edx*4 + 0x4d4920]
cdq
idiv ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x5834f4
mov dword [ebp - 0xc], 1
mov edx, dword [0x4d3014]
xor eax, eax
add edx, dword [ebp - 0xc]
mov al, byte [ebx + 7]
cmp eax, edx
jl 0x583513
xor eax, eax
mov al, byte [ebx + 7]
sub eax, dword [ebp - 0xc]
mov dword [0x4d3014], eax
xor ecx, ecx
mov cl, byte [ebx + 6]
cmp ecx, dword [0x4d3014]
jge 0x58352a
xor eax, eax
mov al, byte [ebx + 6]
mov dword [0x4d3014], eax
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006054d8
push 0x428dc4
push 0x4cedbc
mov ecx, dword [ebp + 8]
push ecx
call fcn.005abed6
add esp, 0xc
xor eax, eax
jmp 0x583563
mov edx, dword [ebp + 0x14]
push edx
push edi
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.006053b8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10