Function at 0x4f7c30
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov edi, eax
xor eax, eax
push ebp
push 0x4f924b
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004e3200
mov esi, eax
mov eax, edi
cmp eax, 0x11c4
jg 0x4f7c9c
je 0x4f7cd4
cmp eax, 0xe62
jg 0x4f7c88
je 0x4f7cd4
sub eax, 0xd2a
je 0x4f7cd4
sub eax, 0x5a
je 0x4f7cdb
add eax, 0xffffffe7
sub eax, 2
jb 0x4f7cd4
jmp 0x4f7d8a
sub eax, 0x1083
je 0x4f7cd4
add eax, 0xfffffffd
sub eax, 0xd
jb 0x4f7cd4
jmp 0x4f7d8a
cmp eax, 0x145a
jg 0x4f7cc3
je 0x4f7d3f
sub eax, 0x13f1
je 0x4f7cd4
sub eax, 0x5f
je 0x4f7d12
sub eax, 5
je 0x4f7d3f
jmp 0x4f7d8a
add eax, 0xffffeba4
sub eax, 2
jb 0x4f7d3f
dec eax
jne 0x4f7d8a
mov bl, 1
jmp 0x4f9228
call fcn.0053999c
call fcn.00538a60
test al, al
je 0x4f7d03
call fcn.0053999c
call fcn.00538424
call fcn.00536f44
test al, al
je 0x4f7d03
mov bl, 1
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x12
jmp 0x4f9228
test esi, esi
je 0x4f7d21
mov eax, dword [0x67283c]
cmp dword [eax + 8], 0
jne 0x4f7d30
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x48
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
mov eax, dword [0x672cb4]
cmp byte [eax + 0x1a], 0
je 0x4f7d74
mov al, 0xa
call fcn.0048e3e4
test al, al
je 0x4f7d74
mov eax, dword [0x673044]
cmp dword [eax], 0
je 0x4f7d74
mov eax, dword [0x673044]
mov eax, dword [eax]
call fcn.0051599c
mov eax, dword [eax + 0x2c]
cmp dword [eax + 0x24], 0
jne 0x4f7d83
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x48
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
test esi, esi
jne 0x4f7d95
xor ebx, ebx
jmp 0x4f9228
mov eax, edi
cmp eax, 0x11ba
jg 0x4f8002
je 0x4f8dc8
cmp eax, 0xe74
jg 0x4f7ed6
je 0x4f88ad
cmp eax, 0xd98
jg 0x4f7e60
je 0x4f8ae6
cmp eax, 0xd20
jg 0x4f7e1e
je 0x4f8988
cmp eax, 0xc08
jge 0x4f7df7
sub eax, 0xbba
je 0x4f8252
sub eax, 0x14
je 0x4f8252
jmp case.0x4f81cc.5302
add eax, 0xfffff3f8
sub eax, 4
jb 0x4f8252
sub eax, 0x74
je 0x4f824b
sub eax, 0x8c
je 0x4f88d4
jmp case.0x4f81cc.5302
cmp eax, 0xd5c
jg 0x4f7e47
je 0x4f88d4
add eax, 0xfffff2cc
sub eax, 5
jb 0x4f8988
sub eax, 0xf
je 0x4f8988
jmp case.0x4f81cc.5302
sub eax, 0xd70
je 0x4f8922
sub eax, 5
je 0x4f8922
jmp case.0x4f81cc.5302
cmp eax, 0xe55
jg 0x4f7eaf
je 0x4f8546
cmp eax, 0xdb7
jg 0x4f7e93
je 0x4f8bdc
sub eax, 0xdac
je 0x4f8619
sub eax, 0xa
je 0x4f8bb4
jmp case.0x4f81cc.5302
sub eax, 0xe0b
je 0x4f8c27
add eax, 0xffffffd3
sub eax, 2
jb 0x4f824b
jmp case.0x4f81cc.5302
sub eax, 0xe56
je 0x4f8584
sub eax, 8
je 0x4f859b
dec eax
je 0x4f85ad
dec eax
je 0x4f88d4
jmp case.0x4f81cc.5302
cmp eax, 0xfa0
jg 0x4f7f75
je 0x4f85d2
cmp eax, 0xf28
jg 0x4f7f33
je 0x4f8b6d
cmp eax, 0xee2
jg 0x4f7f1a
je 0x4f8252
sub eax, 0xe9c
je 0x4f824b
sub eax, 0x41
je 0x4f8252
jmp case.0x4f81cc.5302
sub eax, 0xf00
je 0x4f8b6d
sub eax, 0x14
je 0x4f8b8c
jmp case.0x4f81cc.5302
cmp eax, 0xf55
jg 0x4f7f59
je 0x4f8752
sub eax, 0xf3c
je 0x4f8b8c
sub eax, 0x14
je 0x4f867e
jmp case.0x4f81cc.5302
add eax, 0xfffff0a6
sub eax, 2
jb 0x4f8789
sub eax, 0x30
je 0x4f85d2
jmp case.0x4f81cc.5302
cmp eax, 0x119e
jge 0x4f7fc0
cmp eax, 0xfbe
jg 0x4f7fa2
je 0x4f85d2
sub eax, 0xfb4
je 0x4f85d2
sub eax, 5
je 0x4f85d2
jmp case.0x4f81cc.5302
sub eax, 0xfc8
je 0x4f85d2
add eax, 0xffffff47
sub eax, 2
jb 0x4f8cc4
jmp case.0x4f81cc.5302
cmp eax, 0x11b3
jg 0x4f7fe9
je case.0x4f81cc.5300
add eax, 0xffffee62
sub eax, 2
jb 0x4f8ce6
sub eax, 0x12
je 0x4f8dc8
jmp case.0x4f81cc.5302
add eax, 0xffffee4c
sub eax, 5
jb 0x4f8dc8
je case.0x4f81cc.5300
jmp case.0x4f81cc.5302
cmp eax, 0x13c6
jg 0x4f811b
je 0x4f9125
cmp eax, 0x11f9
jg 0x4f80a5
je 0x4f82c0
cmp eax, 0x11c6
jg 0x4f8066
je case.0x4f803f.4545
add eax, 0xffffee44
cmp eax, 7
ja case.0x4f81cc.5302
jmp dword [eax*4 + 0x4f8046]
cmp eax, 0x11d1
jg 0x4f808c
je 0x4f8f9b
sub eax, 0x11cb
je case.0x4f803f.4545
sub eax, 5
je case.0x4f803f.4545
jmp case.0x4f81cc.5302
sub eax, 0x11d5
je case.0x4f803f.4545
sub eax, 0x23
je case.0x4f81cc.5300
jmp case.0x4f81cc.5302
cmp eax, 0x122f
jg 0x4f80f1
je 0x4f82c0
cmp eax, 0x1220
jg 0x4f80d8
je 0x4f82c0
sub eax, 0x120c
je 0x4f82c0
sub eax, 0xa
je 0x4f82c0
jmp case.0x4f81cc.5302
sub eax, 0x1225
je 0x4f82c0
sub eax, 5
je 0x4f82c0
jmp case.0x4f81cc.5302
add eax, 0xffffec46
sub eax, 3
jb case.0x4f8147.5074
sub eax, 4
je case.0x4f8147.5064
dec eax
je case.0x4f8147.5063
dec eax
je 0x4f9125
jmp case.0x4f81cc.5302
cmp eax, 0x14af
jg 0x4f81b1
je case.0x4f81cc.5300
cmp eax, 0x13d8
jg 0x4f8186
je case.0x4f8147.5063
add eax, 0xffffec39
cmp eax, 0xd
ja case.0x4f81cc.5302
jmp dword [eax*4 + 0x4f814e]
sub eax, 0x13d9
je case.0x4f8147.5064
sub eax, 4
je case.0x4f8147.5063
dec eax
je case.0x4f8147.5064
sub eax, 0xa4
je 0x4f88d4
jmp case.0x4f81cc.5302
cmp eax, 0x14c8
jg 0x4f8217
je case.0x4f81cc.5305
add eax, 0xffffeb4c
cmp eax, 0x10
ja case.0x4f81cc.5302
jmp dword [eax*4 + 0x4f81d3]
add eax, 0xffffeb2e
sub eax, 6
jb 0x4f8364
sub eax, 0xe
je 0x4f83b0
dec eax
sub eax, 5
jb 0x4f8413
add eax, 0xfffffe3a
sub eax, 4
jb 0x4f91a2
jmp case.0x4f81cc.5302
mov bl, 1
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
je 0x4f826a
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
mov eax, esi
call fcn.005c7900
test al, al
je 0x4f8284
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
call fcn.004f7534
test al, al
je 0x4f8294
xor ebx, ebx
jmp 0x4f9228
cmp edi, 0xedd
jne 0x4f82a9
cmp byte [esi + 0x14e], 0
je 0x4f82a9
xor ebx, ebx
jmp 0x4f82ab
mov bl, 1
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 3
jmp 0x4f9228
mov eax, dword [esi + 0x5b0]
cmp dword [eax + 0x18], 0
jne 0x4f82db
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x5e
jmp 0x4f9228
cmp edi, 0x1216
jne 0x4f832b
call fcn.00651de8
mov edi, eax
push 0
push 0x25
push edi
mov eax, dword [esi + 0x5b0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
mov eax, esi
call fcn.005e8a94
mov ecx, eax
xor edx, edx
mov eax, esi
call fcn.005e8f04
cmp dword [edi + 0x18], 0
setg bl
test bl, bl
jne 0x4f831f
mov eax, dword [0x675e90]
mov byte [eax], 0x36
mov eax, edi
call fcn.00652408
jmp 0x4f9228
cmp edi, 0x11f9
je 0x4f8343
cmp edi, 0x120c
je 0x4f8343
cmp edi, 0x1216
jne 0x4f835d
mov eax, esi
call fcn.005c7900
test al, al
je 0x4f835d
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5b4]
cmp dword [eax + 0x18], 0
jne 0x4f837f
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x5f
jmp 0x4f9228
cmp edi, 0x14d2
je 0x4f838f
cmp edi, 0x14d3
jne 0x4f83a9
mov eax, esi
call fcn.005c7900
test al, al
je 0x4f83a9
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
call fcn.004f7534
test al, al
je 0x4f83c0
xor ebx, ebx
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
je 0x4f83d8
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
je 0x4f83ea
mov bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005e5c7c
mov eax, dword [esi + 0x5e0]
cmp dword [eax + 0x18], 0
setg bl
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
cmp edi, 0x14ea
je 0x4f843b
cmp edi, 0x14eb
je 0x4f843b
cmp dword [esi + 0x81c], 0
je 0x4f843b
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
mov eax, esi
call fcn.005e5c7c
mov eax, dword [esi + 0x5e0]
cmp dword [eax + 0x18], 0
setg bl
test bl, bl
jne 0x4f8460
mov eax, dword [0x675e90]
mov byte [eax], 0x60
jmp 0x4f9228
cmp edi, 0x14e7
jne 0x4f851d
call fcn.004f7534
test al, al
je 0x4f847c
xor ebx, ebx
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8496
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [esi + 0x300]
call fcn.0054ac9c
dec eax
cmp eax, 0
jl 0x4f8508
mov dword [ebp - 0xc], eax
mov byte [ebp - 0xd], 0
mov eax, dword [esi + 0x308]
call fcn.0054ac9c
mov edi, eax
dec edi
cmp edi, 0
jl 0x4f84f5
mov edx, edi
mov eax, dword [esi + 0x308]
call fcn.0054accc
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x300]
call fcn.0054accc
pop edx
call fcn.00546c78
test al, al
je 0x4f84ef
mov byte [ebp - 0xd], 1
jmp 0x4f84f5
dec edi
cmp edi, 0xffffffff
jne 0x4f84c3
cmp byte [ebp - 0xd], 0
jne 0x4f84ff
mov bl, 1
jmp 0x4f8508
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4f84ac
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x62
jmp 0x4f9228
mov eax, dword [0x672ec4]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
call fcn.0063b334
test eax, eax
jne 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x61
jmp 0x4f9228
call fcn.00601830
mov ebx, eax
mov eax, dword [ebx + 0x1a8]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
test eax, eax
jg 0x4f857b
mov eax, dword [ebx + 0x1b4]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
test eax, eax
jg 0x4f857b
xor eax, eax
jmp 0x4f857d
mov al, 1
mov ebx, eax
jmp 0x4f9228
call fcn.00601830
test byte [eax + 0x20c], 8
setne bl
xor bl, 1
jmp 0x4f9228
mov eax, dword [0x671ee0]
mov eax, dword [eax]
mov bl, byte [eax + 0x171]
jmp 0x4f9228
mov eax, dword [0x672210]
cmp dword [eax], 0
je 0x4f85c4
mov eax, dword [0x672210]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jg 0x4f85cb
xor ebx, ebx
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
call fcn.004f7534
test al, al
je 0x4f85e2
xor ebx, ebx
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8603
lea ecx, [ebp - 0x28]
lea edx, [esi + 0x258]
mov eax, esi
call fcn.005c39f0
cmp dword [ebp - 0x18], 0
jle 0x4f860a
mov bl, 1
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
call fcn.004f7534
test al, al
je 0x4f8629
xor ebx, ebx
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8643
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
mov eax, esi
call fcn.005c7814
test al, al
je 0x4f865d
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xe
jmp 0x4f9228
mov eax, esi
call fcn.005c51d0
test al, al
je 0x4f8677
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8698
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
mov eax, dword [esi + 0x300]
call fcn.0054ac9c
dec eax
jle 0x4f86c0
mov eax, esi
call fcn.005c5258
test al, al
jne 0x4f86c0
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xb
jmp 0x4f9228
mov eax, dword [esi + 0x300]
mov edx, dword [eax + 4]
mov edx, dword [edx]
mov eax, dword [eax + 0x14]
cmp edx, dword [eax + 0x10]
jne 0x4f86e2
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xc
jmp 0x4f9228
mov eax, dword [0x672f50]
mov al, byte [eax]
cmp al, byte [esi + 0x344]
je 0x4f871a
movsx eax, byte [esi + 0x344]
cmp ax, 1
jne 0x4f8729
mov ebx, dword [esi + 0x300]
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [eax]
mov eax, esi
call fcn.005f2af0
test al, al
jne 0x4f8729
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xd
jmp 0x4f9228
mov eax, esi
call fcn.005c78b0
test al, al
je 0x4f8743
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x20
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x300]
call fcn.0054ac9c
dec eax
jle 0x4f877a
mov eax, esi
call fcn.005c5258
test al, al
jne 0x4f877a
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xb
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f87a3
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
cmp byte [esi + 0x345], 0
je 0x4f87bb
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x67
jmp 0x4f9228
mov eax, dword [esi + 0x300]
call fcn.0054ac9c
dec eax
jle 0x4f87e3
mov eax, esi
call fcn.005c5258
test al, al
jne 0x4f87e3
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xb
jmp 0x4f9228
mov eax, dword [esi + 0x300]
mov edx, dword [eax + 4]
mov ebx, dword [edx]
mov eax, dword [eax + 0x14]
cmp ebx, dword [eax + 0x10]
jne 0x4f8805
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xc
jmp 0x4f9228
cmp byte [esi + 0x344], 0
je 0x4f881d
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xd
jmp 0x4f9228
mov edx, ebx
mov eax, esi
call fcn.00566a80
test al, al
je 0x4f8839
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
mov eax, dword [esi + 0x300]
mov eax, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
mov edx, edi
mov eax, esi
call fcn.005c0310
push eax
lea eax, [ebp - 0x48]
push eax
mov ebx, dword [esi + 0x300]
mov ecx, edi
mov eax, dword [ebx + 4]
mov eax, dword [eax]
xor edx, edx
call fcn.005469c4
lea edx, [ebp - 0x48]
xor ecx, ecx
mov eax, esi
call fcn.005c7a68
test al, al
je 0x4f8886
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xf
jmp 0x4f9228
call fcn.004f7b9c
test al, al
je 0x4f889e
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x10
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
test esi, esi
je 0x4f88c6
mov al, byte [0x4f925c]
push eax
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.005c7440
test eax, eax
jg 0x4f88cd
xor ebx, ebx
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8901
mov eax, dword [esi + 0x318]
cmp dword [eax + 0x18], 0
jle 0x4f88f2
mov bl, 1
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
mov eax, esi
call fcn.005c51d0
test al, al
je 0x4f891b
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
cmp byte [esi + 0x45c], 0
je 0x4f893a
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x11
jmp 0x4f9228
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8967
mov eax, dword [esi + 0x318]
cmp dword [eax + 0x18], 0
jle 0x4f8958
mov bl, 1
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
mov eax, esi
call fcn.005c51d0
test al, al
je 0x4f8981
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005c51d0
test al, al
je 0x4f89a2
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
test byte [0x675e70], 1
je 0x4f8a20
call fcn.0053999c
xor edx, edx
call fcn.00538aa4
call fcn.0053999c
call fcn.00538c78
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx - 4]
mov byte [edx + 0xc], al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov byte [eax + 0xd], 0xff
call fcn.0053999c
cmp byte [eax + 0x1c], 0
je 0x4f8a11
and dword [0x675e70], 0xfffffffe
call fcn.0053999c
call fcn.00538908
mov word [ebp - 0xf], ax
test byte [ebp - 0xf], 2
je 0x4f8a16
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov dl, byte [ebp - 0xe]
mov byte [eax + 0xd], dl
jmp 0x4f8a16
call fcn.00509530
call fcn.0053999c
call fcn.00538c64
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0xc], 0
jne 0x4f8a49
call fcn.0053999c
cmp dword [eax + 0x24], 0
jne 0x4f8a49
call fcn.0053999c
cmp dword [eax + 0x38], 0
jne 0x4f8a49
xor ebx, ebx
jmp 0x4f8a4b
mov bl, 1
test bl, bl
jne 0x4f8a5c
mov eax, dword [0x675e90]
mov byte [eax], 9
jmp 0x4f9228
cmp edi, 0xd35
je 0x4f8a80
cmp edi, 0xd36
je 0x4f8a80
cmp edi, 0xd37
je 0x4f8a80
cmp edi, 0xd38
jne 0x4f9228
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0xd], 0xff
je 0x4f8adf
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8adf
mov eax, esi
call fcn.005c5084
test al, al
je 0x4f8adf
cmp edi, 0xd36
jne 0x4f9228
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov al, byte [eax + 0xd]
sub al, 1
je 0x4f8ac5
sub al, 2
jne 0x4f8adf
mov edx, dword [esi + 0x258]
mov eax, esi
call fcn.005f2b28
cmp dword [eax + 0x275c], 0
jle 0x4f9228
xor ebx, ebx
jmp 0x4f9228
cmp byte [esi + 0x45c], 0
je 0x4f8afe
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x11
jmp 0x4f9228
call fcn.0053999c
call fcn.00538a60
test al, al
je 0x4f8b35
call fcn.0053999c
call fcn.00538424
call fcn.00536f20
test al, al
je 0x4f8b44
call fcn.0053999c
call fcn.00538424
mov eax, dword [eax + 8]
call fcn.005c7574
test al, al
jne 0x4f8b44
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x12
jmp 0x4f9228
mov eax, esi
call fcn.005c51d0
test al, al
je 0x4f8b5e
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
cmp dword [esi + 0x4b0], 0
setge bl
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 5
jmp 0x4f9228
mov eax, dword [esi + 0x4ac]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, dword [esi + 0x4b0]
setg bl
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 6
jmp 0x4f9228
mov eax, dword [0x671a34]
cmp byte [eax], 2
jne 0x4f8bcd
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x15
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
mov eax, dword [0x671a34]
cmp byte [eax], 2
jne 0x4f8bf5
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x15
jmp 0x4f9228
mov eax, dword [0x672e74]
cmp byte [eax], 0
jne 0x4f8c09
mov eax, dword [0x671968]
cmp byte [eax], 0
je 0x4f8c18
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4a
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
je 0x4f8c3f
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
cmp byte [esi + 0x344], 0
je 0x4f8c57
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0xd
jmp 0x4f9228
mov eax, esi
call fcn.005c8a3c
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, esi
call fcn.00566a80
test al, al
je 0x4f8c7e
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
mov eax, dword [esi + 0x5bc]
cmp dword [eax + 0x18], 0
jne 0x4f8cb5
mov eax, dword [esi + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
xor edx, edx
call fcn.00554d68
sub ax, 0x21
jae 0x4f8cb5
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x6b
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
cmp byte [esi + 0x14e], 0
je 0x4f8cdf
mov eax, dword [0x671910]
cmp byte [eax + 0x6e], 4
jne 0x4f8cdf
xor ebx, ebx
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
jne 0x4f8d22
call fcn.004f7534
test al, al
je 0x4f8cff
xor ebx, ebx
jmp 0x4f9228
mov eax, esi
call fcn.005e80f8
cmp dword [eax + 0x24], 0
setg bl
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x3c
jmp 0x4f9228
xor ebx, ebx
jmp 0x4f9228
mov eax, esi
call fcn.005c5214
test al, al
je 0x4f8d43
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 8
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
je 0x4f8d5b
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
test bl, bl
je 0x4f9228
sub edi, 0x11b3
je 0x4f8d8c
sub edi, 6
je 0x4f8d8c
sub edi, 0x3f
je 0x4f8daa
sub edi, 0x2b7
je 0x4f8daa
jmp 0x4f9228
mov eax, esi
call fcn.005c78b0
test al, al
je 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x20
jmp 0x4f9228
mov eax, esi
call fcn.005c7900
test al, al
je 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x17
jmp 0x4f9228
mov eax, esi
call fcn.005e80f8
cmp dword [eax + 0x24], 0
setg bl
test bl, bl
jne 0x4f8de7
mov eax, dword [0x675e90]
mov byte [eax], 0x3c
jmp 0x4f9228
cmp edi, 0x11b8
jne 0x4f8dff
call fcn.004f7534
test al, al
je 0x4f8dff
xor ebx, ebx
jmp 0x4f9228
cmp edi, 0x11b8
jne 0x4f8e21
mov eax, esi
call fcn.005c504c
test al, al
jne 0x4f8e21
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 7
jmp 0x4f9228
cmp edi, 0x11b2
je 0x4f8e39
cmp edi, 0x11b4
je 0x4f8e39
cmp edi, 0x11b8
jne 0x4f8e57
mov eax, dword [0x6726fc]
mov eax, dword [eax]
call fcn.0063b334
dec eax
jle 0x4f8e57
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x5b
jmp 0x4f9228
cmp edi, 0x11b2
je 0x4f8e7b
cmp edi, 0x11b4
je 0x4f8e7b
cmp edi, 0x11b5
je 0x4f8e7b
cmp edi, 0x11b8
jne 0x4f9228
mov eax, dword [0x6726fc]
mov eax, dword [eax]
call fcn.0063b334
test eax, eax
jne 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x63
jmp 0x4f9228
mov eax, esi
call fcn.005c78b0
test al, al
je 0x4f8eb8
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x20
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5a0]
cmp dword [eax + 0x18], 1
sete bl
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x1e
jmp 0x4f9228
mov eax, dword [esi + 0x5a0]
cmp dword [eax + 0x18], 0
setg bl
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [esi + 0x5c4]
cmp eax, 0
jl 0x4f8f2e
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x5c0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [eax + edx*4]
mov eax, dword [esi + 0x598]
call fcn.006521b4
test al, al
je 0x4f8f25
mov bl, 1
jmp 0x4f8f2e
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4f8f03
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x1c
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [esi + 0x5c4]
inc eax
mov edx, dword [esi + 0x5c0]
mov edi, dword [edx + 0x18]
dec edi
sub edi, eax
jl 0x4f8f86
inc edi
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x5c0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [eax + edx*4]
mov eax, dword [esi + 0x598]
call fcn.006521b4
test al, al
je 0x4f8f80
mov bl, 1
jmp 0x4f8f86
inc dword [ebp - 0xc]
dec edi
jne 0x4f8f5e
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x1c
jmp 0x4f9228
mov edi, dword [esi + 0x5a0]
xor ebx, ebx
mov eax, dword [edi + 0x18]
dec eax
cmp eax, 0
jl 0x4f9023
mov dword [ebp - 0xc], eax
push 0
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x3c]
lea ecx, [ebp - 8]
lea edx, [ebp - 4]
call fcn.00548874
cmp dword [ebp - 8], 0
je 0x4f8fe6
push dword [ebp - 4]
push 0x4f9264
push dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00403b88
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [eax + edx*4]
mov eax, esi
call fcn.005e8a94
mov edx, eax
mov cl, byte [0x4f9268]
mov eax, esi
call fcn.005c41c8
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 4]
call fcn.00403bd0
je 0x4f901a
mov bl, 1
jmp 0x4f9023
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4f8faf
test bl, bl
jne 0x4f9228
mov eax, dword [0x675e90]
mov byte [eax], 0x1f
jmp 0x4f9228
cmp dword [esi + 0x81c], 0
je 0x4f9050
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x16
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5a4]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4f907b
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4d
jmp 0x4f9228
dec eax
jle 0x4f908d
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x20
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5a8]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4f90b0
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4e
jmp 0x4f9228
dec eax
jle 0x4f90c2
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x20
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5a4]
cmp dword [eax + 0x18], 0
je 0x4f90e1
mov eax, dword [esi + 0x5a8]
cmp dword [eax + 0x18], 0
jle 0x4f90f0
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4d
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5a8]
cmp dword [eax + 0x18], 0
je 0x4f910f
mov eax, dword [esi + 0x5a4]
cmp dword [eax + 0x18], 0
jle 0x4f911e
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4e
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, dword [esi + 0x5ac]
cmp dword [eax + 0x18], 0
jne 0x4f9140
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x4f
jmp 0x4f9228
mov bl, 1
jmp 0x4f9228
mov eax, esi
call fcn.005e5fe8
mov eax, dword [esi + 0x5dc]
cmp dword [eax + 0x18], 0
setg bl
test bl, bl
jne 0x4f916c
mov eax, dword [0x675e90]
mov byte [eax], 0x5c
jmp 0x4f9228
cmp edi, 0x14b9
je 0x4f9180
cmp edi, 0x14c8
jne 0x4f9228
mov eax, dword [0x672368]
mov eax, dword [eax]
call fcn.0063b334
dec eax
jle 0x4f9228
xor ebx, ebx
mov eax, dword [0x675e90]
mov byte [eax], 0x5d
jmp 0x4f9228
xor ebx, ebx
mov eax, dword [esi + 0x12c]
dec eax
cmp eax, 0
jl 0x4f9228
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, esi
call fcn.005fe91c
test al, al
je 0x4f9213
mov eax, dword [esi + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov al, byte [eax + 0x3d]
cmp edi, 0x16b3
je 0x4f91e7
cmp edi, 0x16b5
je 0x4f91e7
xor edx, edx
jmp 0x4f91e9
mov dl, 1
cmp al, dl
jne 0x4f9213
cmp edi, 0x16b4
je 0x4f920f
cmp edi, 0x16b5
je 0x4f920f
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x5b8]
call fcn.006521b4
test al, al
je 0x4f9213
mov bl, 1
jmp 0x4f9228
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4f91b3
jmp 0x4f9228
call fcn.004f7534
mov ebx, eax
xor bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f9252
lea eax, [ebp - 0x4c]
call fcn.00403880
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403898
ret